Monte una ISO desde el símbolo del sistema (solo Windows 8/2012 y superior)

Monte una ISO desde el símbolo del sistema (solo Windows 8/2012 y superior)

¿Cómo puedo montar y desmontar imágenes ISO de PowerShell en Windows 8 sin programas de terceros?

EstepreguntasoriginalrevisiónMe pregunto si es posible montar una ISO a través de PowerShell en Windows 8.

Respuesta1

Monte una ISO desde el símbolo del sistema (solo Windows 8/2012 y superior)

Si está sentado en un símbolo del sistema y necesita montar una ISO, ejecute el siguiente comando:

PowerShell Mount-DiskImage

Esto invocará un cmdlet de PowerShell. Se le solicitará la ruta de los ISO que desea montar. Cuando haya terminado, deje el último en blanco y presione Enter.

ejecutando el cmdlet Mount-DiskImage

¡Tada! Está montado:

¡Tada! Está montado: "Dispositivos con almacenamiento extraíble"

Desmontar una ISO

Para desmontar una ISO de PowerShell, ejecute Dismount-DiskImagey siga las instrucciones. Si solo conoce la letra de la unidad que se le ocurre y no la ruta de la imagen, utilice este comando:

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

Este comando tomará la unidad que especifique, buscará la imagen del disco y la desmontará.

“Dispositivos con almacenamiento extraíble” después de desmontar ISO

Montar múltiples ISO y mostrar letras de unidad

También puede utilizar la -PassThrubandera para almacenar los datos pasados ​​al comando. Montemos algunos ISO, mostremos sus letras de unidad, ejecutemos un archivo en una de las unidades y luego desmontemos todos los ISO.

Montar los ISO

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

Muestra información de volumen para cada ISO montado usando un foreachbucle

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

Lista de unidad J

 ls J:\

abrir un archivo

 start wubi.exe

salida de foreach/Get-Volume y ls

Para desmontar los ISO, use el siguiente comando:

 Dismount-DiskImage $MountedISOs.ImagePath

Probando el ISO

Para crear un script simple que verifique si el ISO está adjunto y es de hecho un ISO (frente a un VHD), me gusta usarlo -PassThrupara almacenar el objeto temporalmente y usar el Get-DiskImagecomando para actualizar el estado del objeto DiskImage. Esto actualizará la Attachedpropiedad. La StorageTypepropiedad le dirá si el archivo es ISO o VHD según su extensión de archivo.

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

El valor StorageTypede un VHD es 2, mientras que un ISO devolverá 1. Aquí está el resultado de $UbuntuISO:
Aquí está el resultado de <code>$UbuntuISO</code>

Este es el resultado $tempdespués de montar un VHD: (¡ Mount-DiskImagetambién se pueden montar VHD!)
la salida de <code>$temp</code> después de montar un VHD

Tenga en cuenta que la Attachedpropiedad anterior es False, a pesar de que el Mount-DiskImagecomando se ejecuta sin problemas.

Tenga en cuenta que la $UbuntuISOvariable tampoco permanecerá actualizada:
la variable <code>$UbuntuISO</code> no se mantiene actualizada


Technet: Mount-DiskImage

Technet: Desmontar-DiskImage

Respuesta2

Normalmente, si desea hacer esto a través de la línea de comando, necesita un método no interactivo. Querrá utilizar el -ImagePathinterruptor para hacer esto.

Por tanto, el comando correcto es:

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

Recuerde que si cita la ruta absoluta (para contener espacios y otros caracteres especiales), debe evitar las comillas.

Para desmontar una imagen iso, recuerda citarla:

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

Tenga en cuenta que no tuvimos que citar el comando en el primer caso, pero sí en el segundo, porque la |canalización hará que la línea de comando piense que está en el contexto de la línea de comando, en lugar de agregar argumentos PowerShell(lo que PowerShell automáticamente se concatena en un solo comando).

También asegúrese de escribir Dismount-DiskImagecorrectamente (no ken Desmontar).

información relacionada