Im zweiten Teil unserer Blogserie über das PowerShell Deployment Toolkit stellen wir heute die Downloadkomponente vor.

Im PowerShell Script Downloader.ps1 versteckt sich eine komplette Download-Engine für:

  • Alle System Center 2012 SP1, System Center 2012 R2 und Windows Azure Pack Installationsvoraussetzungen

  • System Center 2012 SP1 und Windows Server 2012

  • SQL Server 2008 R2 und SQL Server 2012 Installationsmedien

  • Sharepoint Foundation Installationsmedien für SC Service Manager Self-Service Portal

  • Windows Automated Deployment Toolkit 8.1

Nach dem Download befinden sich ca. 15GByte Installationsmedien auf der Festplatte. Zusätzlich wird die Ordnerstruktur angelegt, in die die Datenträger von Windows Server 2012 R2 Update und System Center 2012 R2 abgelegt werden. Der Download dieser Datenträger erfolgt manuell, da dazu eine Microsoft-ID erforderlich ist. In die vorbereiteten Ordner werden dazu die 180 Tage-Testversionen von den TechNet Evaluierungsseiten gespeichert, oder aber die Vollversionen aus dem eigenen Volumenlizenzportal. Bis auf eine Ausnahme ist die Quelle der Installationsdatenträger egal. Wird kein Produktschlüssel in der Variable.xml Datei angegeben wird immer eine 180 Tage-Testversion verwendet, sobald ein Produktschlüssel angegeben wird. Die Ausnahme ist in diesem Fall der System Center Data Protection Manager (alle Versionen). Hier reicht es nicht aus, durch die Eingabe eines Produkt-Schlüssels den Datenträger der Testversion in eine Vollversion umzuwandeln, in diesem Fall sind zwingend die Datenträger aus dem Volumenlizenzportal erforderlich. Die Ordnerstruktur unterhalb des Pfades Installer\SystemCenter2012R2 wird folgendermaßen benannt:


Die Installationsmedien werden automatisch entpackt, SQL Service Packs werden in die Installationsquellen geslipstreamed und eine saubere Ordnerstruktur für die Systemvoraussetzungen wird erstellt:

Die Downloader.ps1 benötigt selbst einige Systemvoraussetzungen. Das PowerShell Script wird ausgeführt auf einem Betriebssystem mit Windows 8 oder Windows Server 2012 oder höher, damit die Iso-Dateien direkt im Betriebssystem gemounted werden können.

Des Weiteren ist auf diesem System ein installiertes WinRar oder 7Zip erforderlich um den Exstraktionsvorgang durchführen zu können.

In der Downloader.ps1 selbst sind dabei keine Downloadlinks o.ä. verlinkt, dort befindet sich lediglich die Intelligenz des Downloadmanagers. Der Downloader ist in der Lage bereits vorhandene Dateien zu erkennen und zu überspringen und abgebrochene Downloads fortzusetzen bzw. zurück zu setzen. Die Downloadlinks und deren Validierungen sind enthalten in der Workflow.xml:


Hier am Beispiel der SQL Reporting Services für die Sharepoint Instanz mit einer Validierung der Dateigröße. Die Validierung erfolgt oft über Dateigrößen (in Bytes) oder Versionsnummern. Bei einem neuen Release der Subkomponenten kann es erforderlich sein – bis zum nächsten PDT Release – hier eine manuelle Anpassung vorzunehmen, damit die Downloads und Installationen erfolgreich sind.

Mit der Standardkonfiguration nutzt die Downloader.ps1 den \temp\ Pfad auf dem Systemlaufwerk, in der Variable.xml des PDTs ist dies ggf.  anzupassen:


Die Variable Download gibt den Ablageort des Downloaders an, SourcePath den Ort der entpackten Installationsquellen.

Möchte man nicht die gesamten Dateien herunterladen, sondern ausschließlich die Dateien, die für das derzeit – in der Variable.xml -  konfigurierte System Center Deployment erforderlich sind, verwendet man den folgenden Schalter:

.\Downloader.ps1 –DeploymentOnly

Damit haben wir nun alles beisammen um unser Deployment zu starten, im nächsten Schritt unserer Blogserie werfen wir einen intensiven Blick auf den PDT VMCreator zur automatischen Erstellung von virtuellen Maschinen.

Mit besten Grüßen,

Benedict Berger