Comment monter et démonter des images ISO à partir de PowerShell dans Windows 8 sans programmes tiers?
La révision de cette question d'origine m'a posé la question s'il est possible de monter une image ISO via PowerShell dans Windows 8.
Si vous êtes assis à une invite de commande et que vous devez monter un fichier ISO, exécutez la commande suivante:
PowerShell Mount-DiskImage
Cela appellera une applet de commande PowerShell. Vous serez invité à indiquer le chemin des fichiers ISO que vous souhaitez monter. Lorsque vous avez terminé, laissez le dernier en blanc et appuyez sur Enter.
Tada! C'est monté:
Pour démonter une image ISO de PowerShell, exécutez Dismount-DiskImage
et suivez l’invite. Si vous ne connaissez que la lettre de lecteur et non le chemin de l'image, utilisez cette commande:
Get-Volume [Drive Letter] | Get-DiskImage | Dismount-DiskImage
Cette commande va saisir le lecteur que vous spécifiez, rechercher l’image disque et la démonter.
Vous pouvez également utiliser l'indicateur -PassThru
pour stocker les données transmises à la commande. Montons quelques ISO, affichons leurs lettres de lecteur, exécutons un fichier sur l’un des lecteurs, puis démontons toutes les ISO.
Montez les ISO
$MountedISOs=Mount-DiskImage -PassThru D:\Downloads\Ubuntu.iso,D:\Downloads\Windows8.iso,D:\Downloads\Server2012.iso
Afficher les informations de volume pour chaque image ISO montée à l'aide d'une boucle foreach
name__
foreach($iso in $MountedISOs){Get-Volume -DiskImage $iso}
Liste J en voiture
ls J:\
Ouvrir un fichier
start wubi.exe
Pour démonter les fichiers ISO, utilisez la commande suivante:
Dismount-DiskImage $MountedISOs.ImagePath
Pour créer un script simple qui vérifie si l'ISO est attaché et est en fait un ISO (par opposition à un disque dur virtuel), j'aime utiliser -PassThru
pour stocker temporairement l'objet et utiliser la commande Get-DiskImage
pour mettre à jour l'état de l'objet DiskImage. Cela mettra à jour la propriété Attached
name__. La propriété StorageType
vous indiquera si le fichier est un fichier ISO ou VHD en fonction de son extension.
Le StorageType
d'un disque dur virtuel est 2, où une image ISO retournera 1. Voici le résultat de $UbuntuISO
:
Ceci est la sortie de $temp
après le montage d’un disque dur virtuel: (Mount-DiskImage
peut également monter des disques durs virtuels!)
Notez que la propriété Attached
ci-dessus est False
name__, malgré la commande Mount-DiskImage
exécutée sans accroc.
N'oubliez pas que la variable $UbuntuISO
ne restera pas à jour non plus:
Normalement, si vous souhaitez effectuer cette opération via la ligne de commande, vous avez besoin d'une méthode non interactive. Vous voudrez utiliser le commutateur -ImagePath
pour le faire.
Ainsi, la commande est la suivante:
PowerShell Mount-DiskImage -ImagePath \"C:\AbsolutePathTo\Image.iso\"
N'oubliez pas que si vous citez le chemin absolu (pour contenir des espaces et d'autres caractères spéciaux), vous devez échapper les guillemets.
Pour démonter une image iso, rappelez-vous de la citer:
PowerShell "Get-Volume G | Get-DiskImage | Dismount-DiskImage"
Notez que nous n’avions pas besoin de citer la commande dans le premier cas, mais dans le second, car le tube |
fera en sorte que la ligne de commande pense qu’elle se trouve dans le contexte de la ligne de commande, plutôt que des arguments supplémentaires à PowerShell
(qui PowerShell se concatène automatiquement en une seule commande).
Assurez-vous également d’épeler Dismount-DiskImage
correctement (no k
dans Dismount).