Erstellen einer Tasksequenz für die Betriebssystembereitstellung

Sie erstellen eine Configuration Manager Tasksequenz für die Betriebssystembereitstellung, indem Sie eine Instanz der SMS_TaskSequence-Klasse erstellen.

Eine Tasksequenz enthält einen oder mehrere Schritte, die sequenziell auf dem Clientcomputer ausgeführt werden. Weitere Informationen finden Sie unter Tasksequenzobjektmodell für die Betriebssystembereitstellung.

Die Tasksequenz wird dann in eine SMS_TaskSequencePackage gepackt und dem Clientcomputer angekündigt.

So erstellen Sie eine Tasksequenz

  1. Richten Sie eine Verbindung mit dem SMS-Anbieter ein. Weitere Informationen finden Sie unter Grundlagen des SMS-Anbieters.

  2. Erstellen Sie ein Tasksequenzobjekt SMS_TaskSequence .

  3. Fügen Sie Aktionen hinzu, und fügen Sie der Aktion nach Bedarf Gruppen hinzu. Weitere Informationen finden Sie unter Hinzufügen einer Tasksequenzaktion für die Betriebssystembereitstellung.

  4. Ordnen Sie die Tasksequenz einem Tasksequenzpaket zu. Weitere Informationen finden Sie unter Erstellen eines Tasksequenzpakets für die Betriebssystembereitstellung.

  5. Kündigen Sie die Tasksequenz für den Clientcomputer an. Weitere Informationen finden Sie unter Erstellen einer Ankündigung.

Beispiel

Die folgende Beispielmethode erstellt eine Tasksequenz, die ein Softwareprogramm installiert. Im Beispiel wird auch ein Tasksequenzpaket erstellt, indem das Beispiel aufgerufen wird, das in How to Create an Operating System Deployment Task Sequence Package (Erstellen eines Tasksequenzpakets für die Betriebssystembereitstellung) definiert ist.

Informationen zum Aufrufen des Beispielcodes finden Sie unter Aufrufen von Configuration Manager Codeausschnitten.

Sub CreateInstallSoftwareTaskSequence(connection,name, description, packageID, programName)  

    ' Create the task sequence.  
    set taskSequence = connection.Get("SMS_TaskSequence").SpawnInstance_  

    ' Create the action.  
    set action = connection.Get("SMS_TaskSequence_InstallSoftwareAction").SpawnInstance_  

    action.ProgramName=programName  
    action.PackageID=packageID  
    action.Name=name  
    action.Enabled=true  
    action.ContinueOnError=false  

    ' Create an array to hold the action.  
    actionSteps= array(action)  
    ' Add the array to the task sequence.  
    taskSequence.Steps=actionSteps  

    wscript.echo taskSequence.Steps(0).Name  
    call CreateTaskSequencePackage (connection, taskSequence)  

 End Sub  
public void CreateInstallSoftwareTaskSequence(  
    WqlConnectionManager connection,   
    string name,   
    string packageId,   
    string programName)  
{  
    try  
    {  
        // Create the task sequence.  
        IResultObject taskSequence = connection.CreateInstance("SMS_TaskSequence");  

        IResultObject ro = connection.CreateEmbeddedObjectInstance("SMS_TaskSequence_InstallSoftwareAction");  
        ro["ProgramName"].StringValue = programName;  
        ro["packageId"].StringValue = packageId;  
        ro["Name"].StringValue = name;  
        ro["Enabled"].BooleanValue = true;  
        ro["ContinueOnError"].BooleanValue = false;  

        // Add the step to the task sequence.  
        List<IResultObject> array = taskSequence.GetArrayItems("Steps");  

        array.Add(ro);  

        taskSequence.SetArrayItems("Steps", array);  

        // Create the task sequence package.  
        this.CreateTaskSequencePackage(connection, taskSequence);  
    }  
    catch (SmsException e)  
    {  
        Console.WriteLine("Failed to create Task Sequence: " + e.Message);  
        throw;  
    }  
}  

Die Beispielmethode verfügt über die folgenden Parameter:

Parameter Typ Beschreibung
Connection -Verwalteten: WqlConnectionManager
– VBScript: SWbemServices
Eine gültige Verbindung mit dem SMS-Anbieter.
name -Verwalteten: String
-Vbscript: String
Der Name des Tasksequenzschritts.
description -Vbscript: String Die Beschreibung des Tasksequenzschritts.
packageID -Verwalteten: String
-Vbscript: String
Der Paketbezeichner, der die zu installierende Software enthält. Wird von abgerufen SMS_Package.PackageID.
programName -Verwalteten: String
-Vbscript: String
Der Name des zu installierenden Programms. Wird von abgerufen SMS_Program.ProgramName.

Kompilieren des Codes

Für dieses C#-Beispiel ist Folgendes erforderlich:

Namespaces

System

System.Collections.Generic

System.Text

Microsoft. ConfigurationManagement.ManagementProvider

Microsoft. ConfigurationManagement.ManagementProvider.WqlQueryEngine

Assembly

microsoft.configurationmanagement.managementprovider

adminui.wqlqueryengine

Robuste Programmierung

Weitere Informationen zur Fehlerbehandlung finden Sie unter Informationen zu Configuration Manager Fehlern.

.NET Framework-Sicherheit

Weitere Informationen zum Schützen Configuration Manager Anwendungen finden Sie unter Configuration Manager rollenbasierte Verwaltung.

Siehe auch

Objektübersicht: Herstellen einer Verbindung mit einem SMS-Anbieter in Configuration Manager mithilfe von verwaltetem Code
Herstellen einer Verbindung mit einem SMS-Anbieter in Configuration Manager mithilfe von WMI
Tasksequenzübersicht: Erstellen eines Tasksequenzpakets für die Betriebssystembereitstellung