Prestart command und SMSTSPreferredAdvertID

ConfigMgr 2012 bietet die einfache Möglichkeit, sog. “prestart commands” in Boot-Images zu integrieren. Diese “commands” (Skripte, Anwendungen etc. – die unter WindowsPE läuffähig sein müssen) werden direkt nach dem Start von WinPE – also noch vor (!) dem Start der Tasksequence-Engine – gestartet.
Zu konfigurieren ist dies in den Eigenschaften des Bootimages:

Die benötigten Files können auf diesem Weg ebenfalls mit in das Boot-Image integriert werden.

Eine Verwendungsmöglichkeit ist z.B. das Setzen der Tasksequenz-Variablen SMSTSPreferredAdvertID. Die Dokumentation dazu sagt aus:

SMSTSPreferredAdvertID: Forces a specific targeted deployment on the destination computer to be run. This can be set through a prestart command from media or PXE. If this variable is set, the task sequence overrides any required deployments.

Doch was versteckt sich hinter dieser Möglichkeit?

Dazu erst einmal einen Schritt zurück – zu ConfigMgr ohne Verwendung von Prestart-Commands oder setzen der SMSTSPreferredAdvertID.
Gibt es mehrere OSD-Deployments vom Typ “available” (also “optional”), so werden diese im Tasksequence-Wizard zur Auswahl angeboten:

Eine alternative Lösungsmöglichkeit wäre die Verwendung von “required” (also verpflichtenden) Deployments, was aber nicht immer in dieser Form umzusetzen ist.

Hier kommt jetzt also wieder das prestart-command zum Setzen der SMSTSPreferredAdvertID in’s Spiel.
Ein meinem einfachen Beispiel habe ich folgendes Skript verwendet:

set objOSDenv = CreateObject(“Microsoft.SMS.TSEnvironment”)
objOSDenv(“SMSTSPreferredAdvertID”) = “TMH20013

Dies soll zu Demo-Zwecken nur das (statische) Setzen der Variablen abbilden. Denkbar sind auch Webservice-Calls oder Datenbank-Abfragen zum dynamischen Ermitteln der DeploymentID. Das Setzen der Variablen bewirkt, dass der Tasksequence-Wizard nicht angezeigt, entsprechend auch keine Auswahlmöglichkeiten des OS-Deployments angeboten und stattdessen die Tasksequenz sofort gestartet wird.

Im smsts.log sieht dies dann wie folgt aus:

Custom hook from X:\\TSConfig.INI is cscript.exe SetPrefAdvID.vbs 
Custom hook source is SMS10000
Finding package: C:\SMS\PKG\SMS10000
Finding package: D:\SMS\PKG\SMS10000
Finding package: E:\SMS\PKG\SMS10000
Finding package: X:\SMS\PKG\SMS10000
FindPackageFolder found: X:\SMS\PKG\SMS10000
Using path: X:\SMS\PKG\SMS10000 
Successfully registered Task Sequencing COM Interface. 
Command line for extension .exe is “%1” %* 
Set command line: cscript.exe SetPrefAdvID.vbs 
Executing command line: cscript.exe SetPrefAdvID.vbs 
Process completed with exit code 0 
[…]
Using preferred deployment TMH20013

Sollte die DeploymentID nicht gefunden werden wird – wie auch ohne Prestart-Command – der Tasksequenz-Wizard mit der Auswahl der TS angezeigt:

Custom hook from X:\\TSConfig.INI is cscript.exe SetPrefAdvID.vbs
Custom hook source is SMS10000
Finding package: C:\SMS\PKG\SMS10000
Finding package: D:\SMS\PKG\SMS10000
Finding package: E:\SMS\PKG\SMS10000
Finding package: X:\SMS\PKG\SMS10000
FindPackageFolder found: X:\SMS\PKG\SMS10000
Using path: X:\SMS\PKG\SMS10000
Successfully registered Task Sequencing COM Interface.
Command line for extension .exe is “%1” %*
Set command line: cscript.exe SetPrefAdvID.vbs
Executing command line: cscript.exe SetPrefAdvID.vbs
Process completed with exit code 0
[…]
Provided preferred deployment TMH20013 is not found among the available deployments.

Ein Gedanke zu „Prestart command und SMSTSPreferredAdvertID

  1. Dietmar

    Hallo! Wir haben zum Vereinfachen das Deployment genau so konfiguriert, wie Du das hier beschreibst. Das funktioniert an sich auch wirklich zuverlässig. Nur: Wir wissen noch nicht genau wann und warum das passiert, manchmal erscheint ein Dialogfenster, in dem darauf hingewiesen wird, dass eine ‘preferred Task sequence’ ausgeführt wird, mit einem 180 Sekunden Countdown.

    Eigentlich wollen wir auch das nicht haben. Kennst Du das? Was kann man dagegen machen?

    Kann das mit unknown Computer Support zu tun haben?

    Danke … Dietmar

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.