Monte um ISO a partir do prompt de comando (somente Windows 8/2012 e superior)

Monte um ISO a partir do prompt de comando (somente Windows 8/2012 e superior)

Como posso montar e desmontar imagens ISO do PowerShell no Windows 8 sem programas de terceiros?

Essequestõesoriginalrevisãome fez pensar se é possível montar um ISO via PowerShell no Windows 8.

Responder1

Monte um ISO a partir do prompt de comando (somente Windows 8/2012 e superior)

Se você estiver em um prompt de comando e precisar montar um ISO, execute o seguinte comando:

PowerShell Mount-DiskImage

Isso invocará um cmdlet do PowerShell. Você será solicitado a fornecer o caminho dos ISOs que deseja montar. Quando terminar, deixe o último em branco e pressione Enter.

executando o cmdlet Mount-DiskImage

Tada! Está montado:

Tada! Está montado — “Dispositivos com armazenamento removível”

Desmontar um ISO

Para desmontar um ISO do PowerShell, execute Dismount-DiskImagee siga o prompt. Se você souber apenas a letra da unidade, e não o caminho da imagem, use este comando:

Get-Volume [Drive Letter] | Get-DiskImage | Dismount-DiskImage

Este comando irá capturar a unidade que você especificar, encontrar a imagem do disco e desmontá-la.

“Dispositivos com armazenamento removível” após desmontar o ISO

Montando vários ISOs e exibindo letras de unidade

Você também pode usar o -PassThrusinalizador para armazenar dados passados ​​para o comando. Vamos montar alguns ISOs, exibir suas letras de unidade, executar um arquivo em uma das unidades e então desmontar todos os ISOs.

Monte os ISOs

 $MountedISOs=Mount-DiskImage -PassThru D:\Downloads\Ubuntu.iso,D:\Downloads\Windows8.iso,D:\Downloads\Server2012.iso

Exibir informações de volume para cada ISO montado usando um foreachloop

 foreach($iso in $MountedISOs){Get-Volume -DiskImage $iso}     

Listar unidade J

 ls J:\

Abra um arquivo

 start wubi.exe

saída de foreach/Get-Volume e ls

Para desmontar os ISOs, use o seguinte comando:

 Dismount-DiskImage $MountedISOs.ImagePath

Testando o ISO

Para construir um script simples que verifica se o ISO está anexado e é de fato um ISO (vs. um VHD), gosto de usar -PassThrupara armazenar o objeto temporariamente e usar o Get-DiskImagecomando para atualizar o status do objeto DiskImage. Isso atualizará a Attachedpropriedade. A StorageTypepropriedade informará se o arquivo é ISO ou VHD de acordo com sua extensão.

usando <code>-PassThru</code> e <code>Get-DiskImage</code>

O StorageTypevalor de um VHD é 2, onde um ISO retornará 1. Aqui está a saída de $UbuntuISO:
Aqui está a saída de <code>$UbuntuISO</code>

Esta é a saída $tempapós a montagem de um VHD: ( Mount-DiskImagetambém pode montar VHDs!)
a saída de <code>$temp</code> após montar um VHD

Observe que a Attachedpropriedade acima é False, apesar do Mount-DiskImagecomando ser executado sem problemas.

Lembre-se de que a $UbuntuISOvariável também não permanecerá atualizada:
a variável <code>$UbuntuISO</code> não permanece atualizada


Technet: Mount-DiskImage

Technet: Desmontar-DiskImage

Responder2

Normalmente, se quiser fazer isso através da linha de comando, você precisará de um método não interativo. Você vai querer usar o -ImagePathswitch para fazer isso.

Assim, o comando correto é:

PowerShell Mount-DiskImage -ImagePath "C:\AbsolutePathTo\Image.iso"

Lembre-se de que se você citar o caminho absoluto (por conter espaços e outros caracteres especiais), será necessário escapar das aspas.

Para desmontar uma imagem iso, lembre-se de citá-la:

PowerShell "Get-Volume G | Get-DiskImage | Dismount-DiskImage"

Observe que não precisamos citar o comando no primeiro caso, mas o fazemos no segundo, porque o |pipe fará com que a linha de comando pense que está no contexto da linha de comando, em vez de adicionar argumentos PowerShell(aos quais o PowerShell automaticamente concatena em um único comando).

Certifique-se também de escrever Dismount-DiskImagecorretamente (não kem Desmontar).

informação relacionada