Derzeit arbeite ich viel mit dem System Center Configuration Manager. Ein Framework, was vor allem bei der Anwendungsverteilung und dem Schnüren von Paketen geholfen hat, ist das PowerShell App Deployment Toolkit, kurz PSAppDeployToolkit. Dieses Skript, geschrieben in PowerShell , ermöglicht es, diverse zusätzliche Funktionen neben der simplen Installation von Anwendungen anzuwenden. So bietet es Funktionen zum Erstellen von Ordnern, löschen/hinzufügen von Registry Einträgen oder die Installation zusätzlicher Updates/Patches.

The PowerShell App Deployment Toolkit provides a set of functions to perform common application deployment tasks and to interact with the user during a deployment. It simplifies the complex scripting challenges of deploying applications in the enterprise, provides a consistent deployment experience and improves installation success rates.

Neben dem Vorhandensein dieser erweiterten Funktionen ermöglicht es eine standardisierte Installation. Jede Anwendung, die mit dem Toolkit erstellt wurde verhält sich währen der Installation gleich. So ist
für den Nutzer ein gewohntes Bild bei Installationen zu sehen, was Probleme oder zusätzliche Nachfragen verhindert.

Ein Installationsstaus kann während der Installation angezeigt werden

Standard-Fenster während einer Installation

Natürlich sind Installationen im Hintergrund oder auch unattened/silent möglich. Lediglich kleine Ballon-Tips zeugen Start und Abschluss der Installation, wobei auch diese ausgeschaltet werden können.

Ballon Tips des Powershell App Deploy Toolkit

Ballon Tips des PowerShell App Deploy Toolkit

Das Skript ermöglicht es weiterhin, sowohl Programme vor Beginn der Installation zu schließen, als auch selbige während der Installation zu blockieren. So kann sichergestellt werden, dass z.B. bei einer Office Installation der Internet Explorer geschlossen bleibt, da auch Office Add-ins für den Internet Explorer installiert werden.

Bestimmte Programme müssen geschlossen werden, bevor mit der Installation begonnen wirdDas Toolkit bietet die Möglichkeit, bestimmte Anwendungen während der Installation zu blockierenDas Script bietet die Möglichkeit nach der Installation einen Neustart zu erzwingen

Die angezeigten Texte sind zumindest für Deutsch, Englisch und Französisch lokalisiert. Man kann diese jedoch auch manuell bearbeiten. Auch die Logos liegen lokal vor und können verändert werden, sodass ein Corporate Design angewandt werden kann. Dadurch, dass das ganze Script in Power Shell geschrieben ist, kann man sämtliche Funktionen auch überprüfen oder neue hinzufügen. Die Vorteile in kurz und knapp:

  • Einfach zu benutzen – Die Powershell Funktionen müssen nicht selbst geschrieben werden sondern können einfach angewandt und genutzt werden, auch für Powershell Anfänger.
  • Konsistenz– Das Script bietet eine durchgängiges Design und Installationsverhalten, egal wie Komplex die Installation im Hintergrund ist.
  • Mächtig– Die Funktionen des Toolkits sind ausgereift und bieten erweitere Features wie das Schließen von Anwendungen, das setzen und löschen von Registry Keys, das kopieren von Dateien etc.
  • User Interface – Die Dialoge und Fenster des Toolkits sind veränderbar und können an die eigenen Bedürfnisse angepasst werden.
  • Lokalisierung– Das Nutzerinterface ist für einige Sprachen bereits lokalisiert und kann über XML Dateien einfach erweitert werden.
  • Integration – Das Toolkit funktioniert wunderbar mit SCCM oder dem Microsoft Deployment Toolkit. Es kann mit entsprechenden Exit-Codes umgehen bzw. eigene zurückgeben oder z.B. Neustarts unterdrücken.
  • Aktualisierbar– Die Logik und Funktionen des Skripts sind von den Anwendungen selbst getrennt. Sollte also ein Update für das Toolkit erscheinen, können alte Skripte auch nach einem Update weiter genutzt werden.
  • Hilfreich– Das Toolkit selbst loggt alle Aktionen mit. Außerdem gibt es ein sehr gutes Handbuch, sowohl in Word als auch als eigenes Powershell Skript.

Das PSAppDeployToolkit wird aktiv gepflegt und steht derzeit in der Version vom 6. Februar 2016 in Versionsnummer 3.6.8  zur Verfügung. Es ist über Github (PSAppDeployToolkit) oder über die eigene Webseite (psappdeploytoolkit.com) zu beziehen.