Windows 10 Lab Deployment: ISO2VHD

[For an ENGLISH version, click this line]

Aus Anlass der Veröffentlichung von Windows 10 habe ich nach der schnellst möglichen Bereitstellungsmethode einer Windows 10 VM gesucht. Dabei ist die nachfolgende Methode herausgekommen, die aus drei sehr einfachen Schritten besteht:.

Schritt 1: Hyper-V installieren
Das nachfolgende Script (Schritt 3) erzeugt eine Hyper-V VM (Gen 2), benötigt also mindestens WS 2012 R2 oder Windows 8.1 Pro. Dies muss gegeben sein.

Schritt 2: Eine ISO-Datei bereitstellen
Im nachfolgenden Script habe ich die ‘en_windows_10_multiple_editions_x64_dvd_6846432.iso‘-Datei aus der MSDN heruntergeladen und in einen Ordner ‘C:\iso2vhd‘ kopiert. Das Script wird ebenso mit ISOs funktionieren, die mit dem “Media Creation Tool” erstellt worden sind. Ggf. muss der Name der ISO-Datei im Script angepasst werden.

Schritt 3: PowerShell öffnen, Script ausführen 
iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/thorstenbutz/Get-DemoFile/master/w10_iso2vhd.ps1'))

Der Aufruf ist als Einzeiler auszuführen. Login mit ‘Pa$$w0rd’

 

Was passiert dort im Detail?

Das Script lädt zunächst ein anderes Script herunter: “Convert-WindowsImage” aus der Technet Gallery. Mit Hilfe dieses Scripts lässt sich aus einer ISO-Datei eine bootfähige VHDX-Datei erstellen, die einem SYSPREP-Abbild gleicht. Vorteil dieser Lösung: Der Vorgang ist enorm schnell und erlaubt ohne lästige Nachfragen das Starten von Gen2-VMs.

In diese VHDX-Datei wird eine “unattend.xml” eingebaut, die sämtliche Setup-Nachfragen beantwortet, den Built-In Adminstrator freischaltet und einige “First-Logon-Commands” ausführt, was im Wesentlichen der Demonstration dient und sehr einfach an die eigenen Bedürfnisse angepasst werden kann. Die unattend.xml umfasst nur zwei Phasen: Phase 4 und 7. Diese Unattended-Datei wird zu ebenfalls zunächst heruntergeladen und in den Ordner “c:\iso2vhd” kopiert.

Natürlich muss das Script nicht mittels “Invoke-Expression” (alias iex) gestartet werden. Man kann es einfach herunterladen, ggf. anpassen, und lokal ausführen. Ein abschließender Tipp: die im Script estellen VHDX-Dateien lassen sich auch als Base-Images nutzen, so dass man viele W10-Instanzen bei minimalem Platzbedarf erstellen kann. Die dafür nötigen Anpassungen habe ich im o.g. Script nicht eingebaut, um das Beispiel so verständlich wie möglich zu halten.

Viel Spaß beim w10-Deployment!

Die Links zu allen Dateien: