Freigeben über


Informationen zu Configuration Manager Clientanwendungen für benutzerdefinierte Aktionen

Die Tasksequenz in Configuration Manager führt während der Clientbereitstellung benutzerdefinierte Aktionsvorgänge aus. Die Anwendung kann ein Prozess, ein Skript oder andere Befehle sein. Die Anforderungen für die Anwendung werden in einer MOF-Datei (Managed Object Format) definiert. Zu den Beispielanforderungen gehören die Betriebsumgebung, Befehlszeilenargumente, Eigenschaften und Rückgabecodes. Sie werden der Tasksequenzumgebung hinzugefügt, wenn die Aktion verarbeitet wird.

MOF-Datei mit benutzerdefinierter Aktion

Die MOF-Datei für eine benutzerdefinierte Aktion ähnelt dem folgenden Beispiel:

[   CommandLine("smsswd.exe /run:%1 abc.exe %2"),
    : (custom ui control and category qualifiers for action)
    ]
class MyCustomAction : SMS_TaskSequence_Action
{
    [TaskSequencePackage, CommandLineArg(1)]
    string          PackageIDForAbcExe;

    [CommandLineArg(2), AllowedLen("1-32000")]
    string          AbcCommandLineArgs;

    [SuccessCodes, Not_Null]
    string          AbcSuccessCodes = "0 3010";

    string         SomeOtherPropertyThatAbcNeeds;

    string          SupportedEnvironment = "WinPEandFullOS";
};

Die MOF-Datei beschreibt die Informationen, die für die Eingabe der benutzerdefinierten Aktionsanwendung, umgebung, Eigenschaften und Bereitstellungspaketinformationen benötigt werden.

Weitere Informationen finden Sie unter Informationen zur Configuration Manager MOF-Datei für benutzerdefinierte Aktionen.

Anwendungseingabe

Benutzerdefinierte Aktionen müssen unbeaufsichtigt ausgeführt werden, sodass die Anwendung keine Benutzereingaben einfordern sollte. Alle Eingaben sollten entweder über die Befehlszeile, die Tasksequenzumgebung oder aus einer Datendatei empfangen werden.

Die Befehlszeile für die Aktionsanwendung wird in der MOF-Datei mithilfe der integrierten Aktion Befehlszeile ausführen festgelegt.

Zum Beispiel:

CommandLine("smsswd.exe /run:PackageID abc.exe [any abc.exe command line args]"

Anwendungsverarbeitung

Die Tasksequenzanwendung führt die benutzerdefinierten Aktionsvorgänge aus. Er muss sich seiner Betriebsumgebung bewusst sein und Zugriff auf die Umgebungsvariablen der Tasksequenzierung haben, den Fortschritt melden und Vervollständigungscodes zurückgeben.

Umgebung

Die MOF-Datei sollte die Betriebsumgebung mit der eigenschaft SMS_TaskSequence_Action Server WMI ClassSupportedEnvironment angeben. Die verfügbaren Umgebungen sind Windows PE (WinPE), das vollständige Betriebssystem (FullOS) oder beide Umgebungen (WinPEandFullOS).

Die Wahl der Umgebung hängt von den Umständen ab. Beispielsweise erfolgt die Konfiguration der vorab ausgeführten Installation wahrscheinlich in der Windows PE-Umgebung. Weitere Informationen finden Sie unter Infrastrukturanforderungen für die Betriebssystembereitstellung. Aktualisierungen zu derzeit installierten Betriebssystemen verwenden die vollständige Betriebssystemumgebung. Beispiel: Software- oder Treiberinstallation. Betriebssystemumgebungagnostische Aufgaben wie Neustarts oder das Erstellen von Netzwerkverbindungen können mit beiden Umgebungseinstellungen ausgeführt werden.

Verarbeitung

Während der Verarbeitung greifen Sie mithilfe des COM-Automatisierungsobjekts auf die TSEnvironment von der MOF-Datei definierten Tasksequenzvariablen zu. Weitere Informationen finden Sie unter Verwenden von Tasksequenzvariablen in einer ausgeführten Configuration Manager Tasksequenz.

Wenn der Vorgang lange dauert, können Sie den Fortschritt an die Tasksequenzumgebung melden und eine Statusanzeige anzeigen, indem Sie die COM-Automatisierungsklasse des ProgressUI-Clients verwenden. Weitere Informationen finden Sie unter Informationen zur Berichterstellung Configuration Manager benutzerdefinierten Aktionsstatus.

Abschluss

Die Anwendung sollte die SuccessCodes Umgebungsvariable als Rückgabewert festlegen, wenn sie abgeschlossen ist.

Return Beschreibung
0 Erfolgreich
Ungleich 0 (null) Fehler

Wenn nach Abschluss der Anwendung ein Neustart erforderlich ist, sollte die SMSTSRebootRequested Umgebungsvariable festgelegt werden. Weitere Informationen finden Sie unter Tasksequenzvariablen. Informationen zum Festlegen von Umgebungsvariablen finden Sie unter Verwenden von Tasksequenzvariablen in einer ausgeführten Configuration Manager Tasksequenz.

Bereitstellung)

Um von Configuration Manager verwendet werden zu können, muss die anwendung für benutzerdefinierte Aktionen über ein Configuration Manager-Paket verfügbar sein. Der Administrator kann das Paket entweder mithilfe der Configuration Manager-Konsole oder mithilfe einer Programmiersprache erstellen. Weitere Informationen finden Sie unter Erstellen eines Pakets.

Der Paketbezeichner muss verfügbar sein, damit die Bereitstellung funktioniert. In der Regel deklariert die MOF-Datei eine Eigenschaft, die sie enthalten soll, wie im folgenden Beispiel gezeigt:

[TaskSequencePackage, CommandLineArg(1)]
string PackageIDForAbcExe;

Hinweis

Der Paketbezeichner ist die eigenschaft SMS_Package Server WMI ClassPackageID .

Der Paketbezeichner wird vom Administrator abgerufen, wenn die benutzerdefinierte Aktion im Tasksequenz-Editor bearbeitet wird.

Um dieses Verhalten zu aktivieren, kann Ihr benutzerdefiniertes Aktionssteuerelement ein Textbearbeitungssteuerelement in seiner Implementierung verwenden, um den Paketbezeichner vom Administrator abzurufen. Ein Beispiel, das ein Textsteuerelement verwendet, finden Sie unter Erstellen eines Configuration Manager benutzerdefinierten Aktionssteuerelements.

Wenn es vom Administrator verwendet wird, wird das benutzerdefinierte Aktionssteuerelement als Teil einer Tasksequenz mit dem Tasksequenz-Editor bearbeitet. Beim Speichern durch den Tasksequenz-Editor wird eine SMS_TaskSequencePackage Server WMI-Klasse erstellt, die die Tasksequenz einschließlich der benutzerdefinierten Aktion enthält.

Das Tasksequenzpaket wird dann zusammen mit dem benutzerdefinierten Aktionspaket, auf das von der benutzerdefinierten Aktion verwiesen wird, für Clients angekündigt. Weitere Informationen finden Sie unter Erstellen einer Ankündigung.

Wenn die benutzerdefinierte Aktion auf dem Client ausgeführt wird, wird der Paketbezeichner für die benutzerdefinierte Aktion als Befehlszeilenparameter bereitgestellt, aus dem die Binärdateien für die benutzerdefinierte Aktion extrahiert und ausgeführt werden.

Der Paketbezeichner wird mithilfe des /run Befehlszeilenparameters bereitgestellt, um Smsswd.exe.

Setup vor der Netzwerkpartition und vor der Partition

Wenn Sie datenträger- oder netzwerkkonnektivität konfigurieren müssen, bevor Sie über eine Datenträgerpartition verfügen und bevor Sie über Netzwerkkonnektivität verfügen, müssen Sie eine Anwendung für diese Aufgaben erstellen. Ihre Anwendung sollte mithilfe des Windows Assessment and Deployment Kit (ADK) in einem benutzerdefinierten Startimage platziert werden. Weitere Informationen finden Sie unter Windows ADK-Szenarien für IT-Experten.

Hinweis

Das Hinzufügen von Dateien zur Startabbilddatei kann die Mindestanforderungen an den RAM erhöhen und aufgrund von geringem Arbeitsspeicher zu unerwarteten Fehlern bei Tasksequenzen führen.

Importieren Sie dann das Image als benutzerdefiniertes Image in Configuration Manager. Weitere Informationen finden Sie unter Hinzufügen eines Startimages.

Die Anwendung, alle unterstützenden Dateien und die benutzerdefinierten SMSTS.INI sollten im Windows-Ordner abgelegt werden.

Um die Anwendung zu verwenden, verwenden Sie das benutzerdefinierte Startimage in einer Tasksequenz, die einen Schritt vor der Partition/dem Netzwerk enthält.

Siehe auch

Informationen zu benutzerdefinierten Aktionen im Configuration Manager

Informationen zur MOF-Datei Configuration Manager benutzerdefinierten Aktion