Freigeben über


Hinzufügen eines Schritts zu einer Betriebssystembereitstellungsgruppe

Sie fügen einer Tasksequenzgruppe für die Betriebssystembereitstellung in Configuration Manager einen Schritt (eine Aktion oder eine Gruppe) hinzu, indem Sie den Schritt der SMS_TaskSequenceGroup.Steps Arrayeigenschaft hinzufügen.

So fügen Sie einer Tasksequenzgruppe einen Schritt hinzu

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

  2. Rufen Sie das SMS_TaskSequenceGroup-Objekt ab, dem Sie den Schritt hinzufügen möchten. Weitere Informationen finden Sie unter Erstellen einer Tasksequenzgruppe für die Betriebssystembereitstellung.

  3. Erstellen Sie den Tasksequenzschritt. Ein Beispiel für das Erstellen eines Aktionsschritts finden Sie unter Hinzufügen einer Tasksequenzaktion für die Betriebssystembereitstellung.

  4. Fügen Sie den Schritt der SMS_TaskSequenceGroup.Steps Arrayeigenschaft hinzu.

  5. Ordnen Sie den Schritt innerhalb der Arrayeigenschaft nach Bedarf neu an. Weitere Informationen finden Sie unter Erneutes Anordnen einer Tasksequenz für die Betriebssystembereitstellung.

Beispiel

Die folgende Beispielmethode fügt einer Tasksequenzgruppe eine Befehlszeilenaktion hinzu.

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

Sub AddStepToGroup(taskSequenceStep, group)     

    Dim steps   

    ' If needed, create a new steps array.  
    If IsNull(group.Steps) Then  
        steps = Array(taskSequenceStep)  
        group.Steps=steps  
    Else  
        ' Resize the existing steps and add step.  
        steps= Array(group.Steps)  
        ReDim steps (UBound (group.Steps)+1)   
        group.Steps(UBound(steps))=taskSequenceStep   
    End if   

End Sub  
public void AddStepToGroup(  
    WqlConnectionManager connection,   
    IResultObject taskSequence,   
    string groupName)  
{  
    try  
    {  
        // Get the group.  
        List<IResultObject> steps = taskSequence.GetArrayItems("Steps"); // Array of SMS_TaskSequence_Steps.  

        foreach (IResultObject ro in steps)  
        {  
            if (ro["Name"].StringValue == groupName && ro["__CLASS"].StringValue == "SMS_TaskSequence_Group")  
            {  
                IResultObject action = connection.CreateEmbeddedObjectInstance("SMS_TaskSequence_RunCommandLineAction");  
                action["CommandLine"].StringValue = @"C:\donowtingroup.bat";  
                action["Name"].StringValue = "Action in group " + groupName;  
                action["Description"].StringValue = "Action in a group";  
                action["Enabled"].BooleanValue = true;  
                action["ContinueOnError"].BooleanValue = false;  

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

                array.Add(action);  

                ro.SetArrayItems("Steps", array);  
                taskSequence.SetArrayItems("Steps", steps);  
                break;  
            }  
        }  
    }  
    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.
taskSequence

taskSequenceStep
-Verwalteten: IResultObject
– VBScript: SWbemObject
– Eine gültige Tasksequenz (SMS_TaskSequence), die die Gruppe enthält.
groupName

group
-Verwalteten: String
-Vbscript: String
Der Name der Gruppe, der die Befehlszeilenaktion hinzugefügt wird. Dies wird von der SMS_TaskSequenceGroup.Name -Eigenschaft abgerufen.

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
Verschieben eines Schritts in eine andere Tasksequenzgruppe für die Betriebssystembereitstellung
Erstellen einer Tasksequenzgruppe für die Betriebssystembereitstellung
Entfernen eines Schritts aus einer Betriebssystembereitstellungsgruppe
Übersicht über Aufgabensequenzen