Windows Server automatisch in einer VM installieren mit AutomatedLab


    Tags: , ,

    AutomatedLabDer Aufbau einer Test- oder Schu­lungs­umge­bung kann zeit­auf­wändig sein. Dazu ge­hören das Ein­richten von VMs, die Instal­lation von Betriebs­systemen oder das Hinzu­fügen von Rollen. AutomatedLab ein Labs mit nur wenigen manuellen Ein­griffen einrichten. Scripts im Liefer­umfang und aus der Community decken viele Szenarien ab.

    AutomatedLab ist eine vollständige Lösung mit allen erforderlichen Tools, um eine Labor-Umgebung weitgehend auto­matisiert bereit­zustellen. Es unterstützt Hyper-V und Azure, für VMware müsste man die verschachtelte Virtualisierung mit Hyper-V unter vSphere verwenden.

    Ein Vorteil von AutomatedLab besteht in seiner einfachen Nutzung. Eine virtuelle Maschine mit Windows 10 lässt sich zum Beispiel mit drei Befehlszeilen einrichten.

    New-LabDefinition -Name Win10 -DefaultVirtualizationEngine HyperV

    Add-LabMachineDefinition -Name Client1 -Memory 1GB `
    -OperatingSystem 'Windows 10 Pro'

    Install-Lab

    AutomatedLab installieren

    Die Installation von AutomatedLab ist ebenfalls sehr simpel. Sie können die Module aus der PowerShell-Galerie beziehen oder es über die herunter­geladene MSI-Datei installieren. Im Folgenden zeige ich die Variante mittels PowerShell. AutomatedLab gibt in seiner Dokumentation diese Befehle an:

    • Das folgende Kommando installiert Pester 5.x, während man standard­mäßig nur die Version 3.x erhält. Verzichtet man darauf, dann erhält man bei der Installation von AutomatedLabs eine Fehlermeldung
      Install-Module Pester -Force
    • Install-PackageProvider Nuget -Force
      In PowerShell 6.x und 7.x:
      Get-PackageProvider | where name -eq 'nuget' | Install-PackageProvider
    • Install-Module AutomatedLab -AllowClobber

    PowerShell-Module für AutomatedLab installieren

    Quellordner für ein Lab anlegen

    Nach der Installation des PowerShell-Moduls erstellen wir den Ordner Lab Sources als Arbeits­verzeichnis. Dort speichert man Ressourcen wie ISOs, VHDs oder Scripts. Der Befehl zum Erstellen dieses Ver­zeichnisses lautet:

    New-LabSourcesFolder

    Das Cmdlet legt es standard­mäßig unter c:\ an, aber man kann über den Parameter Drive einen anderen Pfad bestimmen. Es verbindet sich zudem mit Github und lädt die ZIP-Datei mit der Verzeichnis­struktur für LabSources herunter. Diese sieht nach Ausführung des Cmdlets so aus:

    Inhalt des Quellordners für AutomatedLab

    Als Nächstes müssen wir die Installations­medien in das Verzeichnis LabSources => ISOs kopieren. In diesem Beispiel verwende ich eine ISO für Windows Server 2019. Wir benötigen sie beim Erstellen einer Definitions­datei für die Labor­maschine.

    Eine weitere Ressource, die bereits im Lieferumfang enthalten ist, enthält der Ordner SampleScripts. Diese Scripts sind für die Bereitstellung von VMs in verschiedenen Umgebungen gedacht.

    AutomatedLab bringt einige Beispiel-Scripts für verschiedene Umgebungen mit

    Lab-Definition erstellen

    Die Labor­definition spezifiziert die Eigenschaften des Labors, das AutomatedLab bereitstellen soll. Der Befehl dafür lautet:

    New-LabDefinition -Name <Name-der-Definition> -DefaultVirtualizationEngine <Hypervisor>

    Im folgenden Beispiel verwende ich Hyper-V als Standard-Engine für die Virtualisierung.

    Neue Lab-Definition für AutomatedLab erzeugen

    An dieser Stelle können Sie auch die verfügbaren Betriebssysteme in Ihrem Ordner LabSources auflisten:

    Get-LabAvailableOperatingSystem

    Wie Sie unten sehen können, wird die ISO-Datei im Verzeichnis LabSources => ISO korrekt gelesen und das Cmdlet zeigt die verfügbaren Editionen von Windows Server 2019 an.

    Verfügbare Betriebs­systeme auflisten mit AutomatedLab

    Lab-Maschine konfigurieren

    Die Definition der Labor­maschine legt den Namen und das Betriebs­system fest, das in der VM laufen soll. Dafür setzt man folgenden Befehl ab:

    Add-LabMachineDefinition -Name <VM-Name> -OperatingSystem <Name des OS>

    Eine der angenehmen Eigenschaften von AutomatedLab ist, dass sich das Modul automatisch um das Netzwerk kümmert. Es erstellt es einen neuen virtuellen Hyper-V-Switch und weist der Umgebung einen Adressraum zu. Die virtuelle(n) Maschine(n) werden dann bei der Installation des Labs mit dem neuen Netzwerk verbunden.

    Definition für eine Lab-Maschine in AutomatedLab hinzufügen

    Lab-Umgebung installieren

    Nachdem wir die Definitionen für das Lab und die Labor-VM erzeugt haben, ist die Bahn frei für die Bereitstellung von Windows Server in einer VM. Diese einfache Demo installiert eine einzelne Instanz von Windows Server 2019.

    Um das gesamte Lab einzurichten, führen Sie das folgende Cmdlet aus:

    Install-Lab

    Bei der Konfiguration der Einstellungen stellt es mehrere sicherheits­bezogene Fragen. Diese Anpassungen sind erforderlich, damit der Lab-Host problemlos mit den Lab-VMs innerhalb der Umgebung interagieren kann. Dabei handelt es sich um Ein­stellungen, die Sie wahrscheinlich für produktive Systeme nicht aktivieren würden, aber für ein Labor sind sie meist in Ordnung.

    Dazu gehören die Aktivierung von WinRM und CredSSP, das Eintragen von ‘*’ in die the TrustedHosts-Liste sowie das Zuweisen des Werts "2" zu AllEncryptionOracle.

    Das Cmdlet Install-Lab ausführen, um das Lab inklusive VM einzurichten.

    Wenn Sie im Explorer den Ordner AutomatedLab-VMs öffnen, dann sehen Sie das VHD-Basis-Image. Sein Zweck ist es, spätere Bereit­stellungen wesentlich zu beschleunigen.

    Das Basis-Image für Windows Server 2019 wurde erstellt

    Sobald das Basis-Image existiert, erzeugt AutomatedLab die eigentlichen Labor-VMs. Diese werden gestartet, und AutomatedLab prüft anschließend die WinRM-Konnektivität, bevor es den Vorgang anschließt.

    Sobald die VM erzeugt wurde, wartet AutomatedLab, bis diese hochgefahren ist.

    Sie können nun den Hyper-V Manager öffnen und eine Verbindung zur virtuellen Maschine herstellen. Alternativ lässt man gleich AutomatedLab eine Verbindung über RDP aufbauen:

    Connect-LabVM -Computername <Name-der-Lab-VM>

    Die von AutomatedLab erstellte VM mit Windows Server 2019

    Zusammenfassung

    Die Bereitstellung von Windows Server in einer VM mit AutomatedLab ist extrem einfach. Die Lösung automatisiert das Einrichten nicht nur der VM und des Gast-OS, sondern bei Bedarf auch der Clients, von SQL Server, Exchange, Active Directory und diverser andere Rollen.

    Die mitgelieferten Beispiel-Scripts und solche aus der Community erhöhen den Nutzen des Tools, weil sich damit unter­schiedlichste Konfigurationen einrichten lassen.

    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 Brandon Lee

    Brandon Lee ist seit mehr als 18 Jahren in der IT-Branche tätig und konzen­triert sich auf Networking und Virtua­lisie­rung. Er ver­öffent­licht auf ver­schie­denen Blogs und ver­fasst tech­nische Doku­men­ta­tionen, haupt­sächlich auf Virtualizationhowto.com.

    // Kontakt: Web, E-Mail, LinkedIn //

    Verwandte Beiträge

    Weitere Links