Windows Server 2012: PowerShell Deployment Toolkit installieren und nutzen

Das PowerShell Deployment Toolkit (PDT) ist eine Sammlung von XML-Dateien und PowerShell-Skripts. Es bietet die Möglichkeit, auf einfache Art und Weise eine virtuelle Umgebung mit einer System-Center-Installation zu erstellen – dem kompletten System Center, inklusive virtueller Maschinen mit Active Directory. Unser Kursleiter Raphael Fäh zeigt, wies geht.

Autor Raphael Fäh
Datum 07.03.2014
Lesezeit 9 Minuten

Das PowerShell Deployment Toolkit (PDT) ist eine Sammlung von XML-Dateien und PowerShell-Skripts, entwickelt von einem Microsoft-Mitarbeiter namens Rob Willis.

Das PDT gibt einem die Möglichkeit, auf einfache Art und Weise eine virtuelle Umgebung mit einer System-Center-Installation zu erstellen – dem kompletten System Center, inklusive virtueller Maschinen mit Active Directory!

Das klingt doch einfach zu gut, um wahr zu sein! Nun, leider stimmt das teilweise. Denn zum aktuellen Zeitpunkt ist sehr wenig bis kaum Dokumentation oder Release-Information vorhanden. Das bedeutet: Das PowerShell Deployment Toolkit kann zwar von jedermann und -frau heruntergeladen werden – einfach so funktionieren tut es aber nicht. Ich erkläre Ihnen in diesem Beitrag in vier Schritten, wie Sie es installieren und nutzen können. Die Installation dauert insgesamt ca. 2 Stunden.

Die zur Erstellung dieses Blogbeitrags aktuelle Version (2.5.2708) kann hier heruntergeladen werden. Ist der Download fertig, entpackt man das Zip-File und steht mit zwei .XML und drei .ps1 Files dar. Was nun?

Wichtig, gleich zu Anfang: Sie benötigen einen Server 2012, 2012 R2 oder 2008 R2 als VMHost, ansonsten funktioniert die Installation nicht.

Schritt 1: Zip-Tool

Zuerst sollten wir uns um einige Prerequisites kümmern. So muss auf dem ausführenden Computer (Server 2012/2012 R2 /W8/W8.1) zum Beispiel 7-Zip oder Winrar vorhanden sein. Ersteres kann gratis bezogen werden: http://www.7-zip.org/download.html Letzteres ist nicht gratis zu haben, deshalb wird hier nicht darauf eingegangen.

Schritt 2: Server 2012 R2 ISO & Convert-Skript

Nach der Installation von 7-Zip geht es weiter mit der VHD-Basis. Wir benötigen ein korrektes Windows Server 2012 R2 ISO Image, das hier bezogen werden kann. Ausserdem benötigen wir das folgende geniale PowerShell-Skript: http://gallery.technet.microsoft.com/scriptcenter/Convert-WindowsImageps1-0fe23a8f

Schritt 3: Konvertieren des ISO in eine VHDX

Mit diesem Convert-Windows-Image-Skript werden wir nun aus dem in Schritt 2 heruntergeladenen ISO eine VHDX extrahieren.

Öffnen Sie das PowerShell-Skript mit dem folgenden Parameter:

powershell-deployment-toolkit-digicomp_01

Wenn Sie eine Fehlermeldung erhalten im Sinne von:

  • .\Convert-WindowsImage.ps1 : Die Datei «C:\Users\Raphael\Desktop\Convert-WindowsImage.ps1» kann nicht geladen werden
  • Die Datei «C:\Users\Raphael\Desktop\Convert-WindowsImage.ps1» ist nicht digital signiert.

Oder wenn Sie eine Nachricht erhalten, dass die Skriptausführung generell deaktiviert ist (Standard in Windows), müssen Sie mit «Set-ExecutionPolicy Unrestricted» zuerst die ExecutionPolicy ändern (PowerShell als Administrator ausführen).

Im darauffolgenden Fenster konfigurieren Sie folgende Parameter:
Choose a Source: Wählen Sie das Server 2012 R2 ISO aus, das Sie bereits heruntergeladen haben.
Choose a SKU from the list: Spielt eine weniger grosse Rolle, wenn Sie nicht vorhaben, die VMs zu lizenzieren. Standard und Datacenter unterscheiden sich nur in der Lizenzierung.
Choose configuration options

  • VHD Format: VHDX
  • VHD Type: Dynamic
  • VHD Size: Je nach Gutdünken, mind. 50 GB

Erstellen Sie die virtuelle Festplatte (das kann ein Weilchen dauern) und benennen Sie sie danach um in WS12R2D.vhdx (oder ändern Sie diese Standardeinstellung im VariableAD.xml File).

Wichtig: Nicht vergessen, danach die Policy mit «Set-ExecutionPolicy RemoteSigned» wieder auf einen sicheren Standard zu stellen.

PS: Wenn Sie auch die Rolle System Center Service Manager Self Service Portal installieren wollen, benötigen Sie ausserdem eine Server 2008 R2 Disk, nach dem obenstehenden Schema erstellt (Überprüfen Sie, dass der Name zur Einstellung im VariableAD.xml File passt).

Schritt 4: Download

Öffnen Sie eine PowerShell-Konsole, navigieren Sie zum Ordner mit den PDT-Skripts und führen Sie das Skript Installer.ps1 aus. Dieses wird nun sämtliche benötigten Prerequisites für das Erstellen der VMs und die Installation von System Center herunterladen. Dies dauert länger, Sie können daher das Skript starten und zum nächsten Schritt übergehen.

Hinweis: Es kann passieren, dass Microsoft seine Download-Links verändert. Zum Punkt der Blogerstellung waren alle aktuell, falls bei Ihnen nach Abschluss des Downloads Dateien fehlen, müssen Sie diese manuell beschaffen und an die richtige Stelle (C:\Installer) legen.

Dieser Ordner sollte nach dem erfolgreichen Download (und dem Entpacken durch eines der Zip-Tools) so aussehen:

powershell-deployment-toolkit-digicomp_02

Mit der aktuellen Version 2.5.2708 funktioniert der Download der folgenden Produkte nicht richtig:

  • Windows Server 2012 R2
  • Windows Server 2012
  • System Center 2012 R2 App Controller
  • System Center 2012 R2 Configuration Manager
  • System Center 2012 R2 Data Protection Manager
  • System Center 2012 R2 Operations Manager
  • System Center 2012 R2 Orchestrator
  • System Center 2012 R2 Service Manager
  • System Center 2012 R2 Virtual Machine Manager

Wenn diese bei Ihnen fehlen, müssen Sie die entsprechenden Ordner manuell anlegen und je ein ISO mit dem Inhalt entpacken:

New-Item -ItemType Directory -Path C:\Installer\WindowsServer2012R2
New-Item -ItemType Directory -Path C:\Installer\WindowsServer2012
New-Item -ItemType Directory -Path C:\Installer\SystemCenter2012R2\AppController
New-Item -ItemType Directory -Path C:\Installer\SystemCenter2012R2\ConfigurationManager
New-Item -ItemType Directory -Path C:\Installer\SystemCenter2012R2\DataProtectionManager
New-Item -ItemType Directory -Path C:\Installer\SystemCenter2012R2\OperationsManager
New-Item -ItemType Directory -Path C:\Installer\SystemCenter2012R2\Orchestrator
New-Item -ItemType Directory -Path C:\Installer\SystemCenter2012R2\ServiceManager
New-Item -ItemType Directory -Path C:\Installer\SystemCenter2012R2\VirtualMachineManager

Server 2012
System Center 2012 R2 & Server 2012 R2

Schritt 5: Konfigurieren des XML Files

Während Ihre Prerequisites heruntergeladen werden, können Sie sich der Konfiguration der Variable.xml-Datei widmen.

Hier definieren Sie sehr genau, wie Ihre virtuellen Maschinen konfiguriert und welche Komponenten von System Center installiert werden sollen. Zusätzlich bestimmen sie, auf welche VM welche Komponente kommt und wie die Accounts und Passwörter während der Ausführung konfiguriert werden.

Wenn Sie das PDT herunterladen, kommen zwei sehr ähnliche Dateien mit: Variable.xml und VariableAD.xml. Nein, das wurde nicht gemacht um Sie zu verwirren …

Sie haben hier die Wahl zwischen zwei unterschiedlichen Versionen der Variable-Datei. Variable.xml installiert Ihnen nur die VMs und sie müssen die Installation von System Center selber über das Installer.ps1-Skript starten.

VariableAD.xml installiert Ihnen die virtuellen Maschinen und macht eine der Maschinen zum Domain Controller. Sie joint die anderen VMs in die Domain und startet die System-Center-Installation automatisch vom neuen Domain Controller aus.

Die zweite Variante ist also definitiv die komfortablere, weshalb ich hier auch nur auf diese eingehen werde.

Grundsätzlich könnten Sie nach dem Download direkt das VMCreator.ps1-Skript starten und schauen, was passiert. Wenn Sie nichts tun, verwendet das Skript die Datei Variable.xml, die am selben Ort liegt wie das Skript.

Es lohnt sich also – falls Sie die Installation mit Active Directory haben möchten – zuerst die bestehende Variable.xml in Variable_withoutAD.xml umzubenennen und die bestehenden VariableAD.xml in Variable.xml.

Hier benötigen Sie keine weiteren Anpassungen, Sie können die Erstellung der VMs direkt starten. Alle Anpassungen bezüglich der System-Center-Umgebung werden ebenfalls in diesem .xml-File vorgenommen. Falls die Domain also anders heissen soll, Sie das Passwort ändern oder die Service-Accounts umbenennen möchten – all das ist möglich mit direkter Anpassung in der XML-Datei.

Während der Installation von System Center in der VM können Probleme auftreten – auf dem DC sehen Sie jeweils den Status. Zum Beispiel folgendes:

Die Standardeinstellung der Windows Firewall – aktiv auf allen Profilen. Es gibt diverse Möglichkeiten, dieses Problem zu beheben – eines davon ist folgendes PowerShell-Skript, eine andere wäre, manuell alle Firewalls zu deaktivieren:

#Disable Firewall on all Systems, Run on DC
Import-Module ActiveDirectory
$computer = Get-ADComputer –Filter *
Foreach($c in $computer){
Start-Job -Scriptblock {Invoke-Command –Scriptblock{Set-NetFirewallProfile \
–All –Enabled „false“} –ComputerName $c
}
}
Get-Job|Wait-Job

Andere Probleme, die auftreten können, sind Timeouts. Hier muss einfach das Skript Installer.ps1 auf dem DC im Ordner C:\Temp erneut gestartet werden, um die Installation fortzusetzen – kaputtgehen kann dabei nichts.

Die Installation dauert komplett ca. 2 Stunden – ist am Ende alles Grün, sind Sie stolzer Besitzer eines funktionierenden PDT-Skripts.


Über den Autor

Raphael Fäh

Schon während seinem Studium zum Bachelor in Wirtschaftsinformatik hat Raphael Fäh Praxisbezug gesucht und gefunden – bei diversen KMU und zuletzt bei der Corporate Software GmbH. Seitdem ist er in verschiedenen Kundenprojekten im Bereich Microsoft System Center, PowerShell und SharePoint unterwegs. Er schult mit seinem Praxiswissen als Microsoft Certified Trainer IT Professionals in aktuellen Microsoft-Technologien. Seinen Ausgleich sucht und findet er beim Bogenschiessen. Ob als Bogenschütze, Dozent oder Consultant – er trifft ins Schwarze.