Mount-DiskImage: ISO-Dateien mounten mit PowerShell


    Tags: ,

    ISO über Explorer in Windows 8 mountenWährend ältere Versionen von Windows separate Tools benötigten, um ISO-Dateien als virtuelle CD/DVD-Laufwerke einzubinden, ist Windows 8.x dazu selbst in der Lage. Diese Funktion beschränkt sich indes nicht auf den Explorer, vielmehr bietet auch PowerShell diese Möglichkeit. Sie eignet sich darüber hinaus auch für VHDs.

    Die Unterstützung für virtuelle CD/DVD-Laufwerke im Explorer von Windows 8.x reduziert sich auf die einfachsten Aufgaben. Man kann dort aus dem Kontextmenü einer ISO-Datei den Befehl Bereitstellen ausführen, um sie zu mounten. Umgekehrt kann man sie unmounten, indem man das virtuelle Medium über das Kontextmenü des CD/DVD-Laufwerks auswirft. Wer mehr benötigt, muss weiterhin auf ISO-Tools von anderen Anbietern zurückgreifen, die in der Regel auch Windows 8 unterstützen.

    Mount-DiskImage verwenden

    PowerShell spiegelt die relativ mageren Möglichkeiten der GUI wieder und bietet dafür Cmdlets für das Anhängen und Auswerfen von ISO-Dateien. Hinzu kommt ein weiterer Befehl zum Auslesen von ISO- oder CD-Informationen. Der Vorteil von PowerShell besteht in seiner größeren Flexibilität, so dass man etwa mehrere Images nach bestimmten Kriterien auswählen und als virtuelle CD-Laufwerke bereitstellen kann.

    Das Mounten einer ISO-Datei erfolgt über das Cmdlet Mount-DiskImage. Unter Windows 8 können auch normale Benutzer diese Aufgabe erledigen, während man unter Windows Server 2012 (R2) dafür administrative Rechte benötigt.

    Im einfachsten Fall übergibt man ihm den Namen der ISO-Datei über den Parameter -ImagePath. Erforderlich ist hier ein absoluter Pfad inklusive Laufwerkskennnung, auf relative Pfade reagiert das Cmdlet mit einer Fehlermeldung:

    Mount-DiskImage -ImagePath C:\Users\me\Downloads\ubuntu-12.04.3-desktop-amd64.iso

    Auf die gleiche Weise kann man auch VHD(X)-Dateien mounten, wobei dafür grundsätzlich eine PowerShell mit administrativen Rechten verlangt wird. Damit bietet es eine Alternative zu Mount-VHD.

    Wenn Dateinamen die korrekte Endung haben, dann muss man ISO oder VHD(X) nicht über den Parameter -StorageType spezifizieren. Die virtuellen Laufwerke erhalten automatisch einen freien Buchstaben, es sei denn, man ruft das Cmdlet mit -NoDriveLetter auf.

    Mehrere ISOs auf einmal mounten

    Möchte man gleich mehrere ISO-Files mounten, dann kann man die Liste über eine Pipe an Mount-DiskImage übergeben. Der komplette Dateiname inklusive des Pfads ist in der Eigenschaft FullName enthalten:

    gci de_*.iso | foreach{Mount-DiskImage -ImagePath $_.FullName}

    Hier würden alle ISO-Dateien als virtuelles Laufwerk angehängt, auf die das Muster de_*.iso im Aufruf von Get-ChildItem zutrifft. Standardmäßig zeigt Mount-DiskImage nichts über die Ergebnisse seiner Arbeit an. Wenn man eine entsprechende Ausgabe haben möchte, dann sollte man den Schalter -PassThru anfügen.

    Das Unmounten von virtuellen CD/DVD-Laufwerken erfolgt nach dem gleichen Muster wie das Mounten, nur dass man hier das Cmdlet Dismount-DiskImage verwendet. Es erwartet keine Laufwerks­buchstaben, sondern die Angabe der Image-Dateien über den Parameter -ImagePath.

    Alternativ könnte man statt des ISO-Dateinamens den Device-Pfad angeben, aber den muss man unter Verwendung des -ImagePath erst mit Hilfe von Get-DiskImage erfragen. Dieses Cmdlet liefert noch weitere Daten zu einer ISO oder VHD, unter anderem die Blockgröße und den belegten Speicherplatz.

    Täglich Know-how für IT-Pros mit unserem Newsletter

    Wir ver­wenden Ihre Mail-Adresse nur für den Ver­sand der News­letter.
    Es erfolgt keine per­sonen­be­zogene Auswertung.

    Bild von Wolfgang Sommergut
    Wolfgang Sommergut hat lang­jährige Erfahrung als Fach­autor, Berater und Kon­ferenz­sprecher zu ver­schie­denen Themen der IT. Da­ne­ben war er als System­ad­mi­ni­stra­tor und Con­sultant tätig.
    // Kontakt: E-Mail, XING, LinkedIn //

    Verwandte Beiträge

    Weitere Links