Risposte:
Se ti trovi al prompt dei comandi e devi montare un ISO, esegui il comando seguente:
PowerShell Mount-DiskImage
Ciò invocherà un cmdlet di PowerShell. Ti verrà richiesto il percorso degli ISO che desideri montare. Quando hai finito, lascia l'ultimo vuoto e premi Enter.
Tada! È montato:
Per smontare un ISO dall'esecuzione di PowerShell Dismount-DiskImagee seguire il prompt. Se conosci solo la lettera di unità nella parte superiore della testa e non il percorso dell'immagine, utilizza questo comando:
Get-Volume [Drive Letter] | Get-DiskImage | Dismount-DiskImage
Questo comando prenderà l'unità specificata, troverà l'immagine del disco e la smonterà.
È inoltre possibile utilizzare il -PassThruflag per memorizzare i dati passati al comando. Montiamo alcuni ISO, visualizziamo le loro lettere di unità, eseguiamo un file su una delle unità e quindi smontiamo tutte le ISO.
Montare gli ISO
$MountedISOs=Mount-DiskImage -PassThru D:\Downloads\Ubuntu.iso,D:\Downloads\Windows8.iso,D:\Downloads\Server2012.iso
Visualizza le informazioni sul volume per ogni ISO montato usando un foreachloop
foreach($iso in $MountedISOs){Get-Volume -DiskImage $iso}
Elenco J drive
ls J:\
Apri un file
start wubi.exe
Per smontare gli ISO, utilizzare il seguente comando:
Dismount-DiskImage $MountedISOs.ImagePath
Per creare uno script semplice che controlli se l'ISO è collegato e in realtà è un ISO (rispetto a un disco rigido virtuale) che mi piace utilizzare -PassThruper archiviare temporaneamente l'oggetto e utilizzare il Get-DiskImagecomando per aggiornare lo stato dell'oggetto DiskImage. Questo aggiornerà la Attachedproprietà. La StorageTypeproprietà ti dirà se il file è ISO o VHD in base alla sua estensione.
Il valore StorageTypedi un disco rigido virtuale è 2, dove un ISO restituirà 1. Ecco l'output di $UbuntuISO:

Questo è l'output di $tempdopo aver montato un VHD: ( Mount-DiskImagepuò anche montare VHD!)

Si noti che la Attachedproprietà sopra è False, nonostante il Mount-DiskImagecomando venga eseguito senza intoppi.
Tieni presente che la $UbuntuISOvariabile non rimarrà aggiornata neanche:

C:\>explorer.exe imagepath, qui non abbiamo bisogno di PS ma per smontare lì abbiamo bisogno di PS.
Normalmente, se si desidera farlo tramite la riga di comando, è necessario un metodo non interattivo. Ti consigliamo di utilizzare l' -ImagePathinterruttore per farlo.
Pertanto, il comando è:
PowerShell Mount-DiskImage -ImagePath \"C:\AbsolutePathTo\Image.iso\"
Ricorda che se citi il percorso assoluto (per contenere spazi e altri caratteri speciali), devi evitare le virgolette.
Per smontare un'immagine iso, ricordati di citarla:
PowerShell "Get-Volume G | Get-DiskImage | Dismount-DiskImage"
Si noti che non è stato necessario citare il comando nel primo caso, ma nel secondo caso, poiché la |pipe farà sì che la riga di comando pensi che si trovi nel contesto della riga di comando, anziché argomenti di aggiunta PowerShell(a cui PowerShell automaticamente si concatena in un singolo comando).
Assicurati anche di scrivere Dismount-DiskImagecorrettamente (no kin Dismount).
PowerShell Dismount-DiskImage \"C:\AbsolutePathTo\Image.iso\"
PowerShell Mount-DiskImage \"%CD%\Image.iso\"