Kundenspezifische Installationsvorbereitungen (Prestage Actions)

Anforderung

Es wird ein Mechanismus benötigt, für neue oder wiederherzustellende Computer vor dem OS-Deployments kundenspezifische Funktionen ausführt.

Beispiele:

  • Erstellen oder Löschen von Computerkonten

  • Übertragen von Inventurdaten

  • ...

Lösung

In mypOsDeploy werden ini-Dateien mit Aufrufparametern verwaltet, die während der Windows Preboot Phase (Windows PE) ausgeführt werden.

Dieses Funktion ist erst ab mypOsDeploy Version 1.5.x.x verfügbar.

 

Start

Die definierten Prestage Aktionen werden nach erfolgter Installationsfreigabe nach dem mypDeploy PE-Wizard und vor dem Start der Installation ausgeführt.

Aufruf-Hierarchie:

  • Prio 1: mypOsDeploy prüft, ob es im Verzeichnis Mandant\Konfiguration eine Datei PrestageActions.ini gibt

  • Prio 2: mypOsDeploy prüft, ob es im Verzeichnis Mandant eine Datei PrestageActions.ini gibt

An beiden Stellen kann ein weiteres Verzeichnis "PrestageActions" angelegt werden, indem sich die erforderlichen Programme, Skripte usw. befinden. Das Verzeichnis darf leer sein, muss aber vorhanden sein, da es als aktuelles Verzeichnis für die Ausführung gesetzt wird, so dass die aufgerufenen Programme keine expliziten Pfadangaben benötigen.

Werden an beiden Lokationen keine ini-Dateien gefunden wird keine Prestage-Action ausgeführt. Dies ist im Auslieferungszustand der Regelfall!

Mandant/Konfiguration

Bitte beachten Sie, dass beim Mandanten hinterlegte kundenspezifische Erweiterungen nicht! ausgeführt werden, wenn die Konfiguration bereits kundenspezifische Erweiterungen enthält!

Aufbau

Die Datei PrestageActions.ini darf aus beliebig vielen aufsteigend numerierten Sections bestehen. Diese werden in aufsteigender Reihenfolge nacheinander abgearbeitet. Jede Section hat hierbei folgenden Aufbau:

  • [xxxx] ---fortlaufender Sectionname

  • Id= ---fortlaufende ID

  • Name= ---Name der Aktion

  • Description= ---Beschreibung (diese Beschreibung wird im Fortschrittsdialog des PE-Assistenten als aktuelle Aktion angezeigt)

  • Command= ---das auszuführende Kommando

  • Param= ---Parameter für das Programm

  • BreakOnError= ---False, wenn die Installation trotzdem weiterlaufen soll; True, wenn die Installation im Fehlerfall abgebrochen werden soll

  • IgnoreErrors= ---Pipe-getrennt alle Exitcodes <> 0, die ebenfalls als Erfolg angesehen werden sollen. Ansonsten werden alle Exitcodes <> 0 als Laufzeitfehler erkannt.

Neben globalen Variablen darf für Kommando und Parameter die zusätzliche Variable PrestageActionsDir benutzt werden. Diese wird zur Laufzeit durch das Verzeichnis ersetzt, welches sich unterhalb der aktuell ausgeführten PrestageAction befindet.

Tipp

Bitte beachten Sie, dass unter Windows PE nicht alle Umgebungsvariablen von Windows zur Verfügung stehen.

 

Beispiel für eine PrestageActions.ini

[0001]
Id=0001
Name=Mark computer for Delete in Active Directory
Description=this scripts marks an existing Computer account for delete in Active Directory
Command=%SYSTEMROOT%\System32\cslrunw.exe
Param=/Script:""%PreStageActionsDir%\MarkComputerForDelete.csl""
BreakOnError=True
IgnoreErrors=0|1|2

 

Hier wird ein Csl ausgeführt und das auszuführende Csl über %PrestageActionsDir% lokalisiert. Weiterhin wird festgelegt, dass neben 0 auch 1 und 2 zulässige Rückgabewerte sind. Alle anderen Fehler führen zum Abbruch.

Ausführung

mypOsDeploy liest die ini-Datei aus und führt die dort hinterlegten Anweisung hintereinander aus (nach dem mypDeploy PE-Wizard und vor dem Start der Installation), bis

  • alle Sections abgearbeitet sind

  • eine Section einen Fehler liefert, der nicht mit "BreakOnError=False" ignoriert werden darf.

Im Fehlerfall wird die letzte erzeugte Fehlermeldung als Fehler im Dialog angezeigt, die Installation beendet und der Computer herunter gefahren, ansonsten wird nach Abarbeitung der PrestageActions die Task Sequence gestartet.