Tags: Windows Server 2019, Virtualisierung, Configuration-Management
Der Aufbau einer Test- oder Schulungsumgebung kann zeitaufwändig sein. Dazu gehören das Einrichten von VMs, die Installation von Betriebssystemen oder das Hinzufügen von Rollen. AutomatedLab ein Labs mit nur wenigen manuellen Eingriffen einrichten. Scripts im Lieferumfang und aus der Community decken viele Szenarien ab.
AutomatedLab ist eine vollständige Lösung mit allen erforderlichen Tools, um eine Labor-Umgebung weitgehend automatisiert bereitzustellen. 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 heruntergeladene 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 standardmäß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
Quellordner für ein Lab anlegen
Nach der Installation des PowerShell-Moduls erstellen wir den Ordner Lab Sources als Arbeitsverzeichnis. Dort speichert man Ressourcen wie ISOs, VHDs oder Scripts. Der Befehl zum Erstellen dieses Verzeichnisses lautet:
New-LabSourcesFolder
Das Cmdlet legt es standardmäß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 Verzeichnisstruktur für LabSources herunter. Diese sieht nach Ausführung des Cmdlets so aus:
Als Nächstes müssen wir die Installationsmedien 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 Definitionsdatei für die Labormaschine.
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.
Lab-Definition erstellen
Die Labordefinition 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.
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.
Lab-Maschine konfigurieren
Die Definition der Labormaschine legt den Namen und das Betriebssystem 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.
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 sicherheitsbezogene Fragen. Diese Anpassungen sind erforderlich, damit der Lab-Host problemlos mit den Lab-VMs innerhalb der Umgebung interagieren kann. Dabei handelt es sich um Einstellungen, 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.
Wenn Sie im Explorer den Ordner AutomatedLab-VMs öffnen, dann sehen Sie das VHD-Basis-Image. Sein Zweck ist es, spätere Bereitstellungen wesentlich zu beschleunigen.
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.
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>
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 unterschiedlichste Konfigurationen einrichten lassen.
Täglich Know-how für IT-Pros mit unserem Newsletter
Verwandte Beiträge
Weitere Links