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.