Share via


Een stap toevoegen aan een besturingssysteemimplementatiegroep

U voegt in Configuration Manager een stap (een actie of groep) toe aan een takenreeksgroep voor de implementatie van het besturingssysteem door de stap toe te voegen aan de SMS_TaskSequenceGroup.Steps matrixeigenschap.

Een stap toevoegen aan een takenreeksgroep

  1. Een verbinding met de SMS-provider instellen. Zie Basisprincipes van SMS-provider voor meer informatie.

  2. Haal het SMS_TaskSequenceGroup-object op waaraan u de stap wilt toevoegen. Zie Een takenreeksgroep voor besturingssysteemimplementatie maken voor meer informatie.

  3. Maak de takenreeksstap. Zie Een takenreeksactie voor besturingssysteemimplementatie toevoegen voor een voorbeeld van het maken van een actiestap.

  4. Voeg de stap toe aan de SMS_TaskSequenceGroup.Steps eigenschap matrix.

  5. De volgorde van de stap binnen de matrixeigenschap zo nodig wijzigen. Zie Een takenreeks van een besturingssysteemimplementatie opnieuw orden voor meer informatie

Voorbeeld

Met de volgende voorbeeldmethode wordt een opdrachtregelactie toegevoegd aan een takenreeksgroep.

Zie Aanroepen Configuration Manager codefragmenten voor meer informatie over het aanroepen van de voorbeeldcode.

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;  
    }  
}  

De voorbeeldmethode heeft de volgende parameters:

Parameter Type Beschrijving
connection -Beheerd: WqlConnectionManager
- VBScript: SWbemServices
Een geldige verbinding met de SMS-provider.
taskSequence

taskSequenceStep
-Beheerd: IResultObject
- VBScript: SWbemObject
- Een geldige takenreeks (SMS_TaskSequence) die de groep bevat.
groupName

group
-Beheerd: String
-Vbscript: String
De naam van de groep waaraan de opdrachtregelactie is toegevoegd. Dit wordt verkregen van de SMS_TaskSequenceGroup.Name eigenschap.

De code compileren

Voor dit C#-voorbeeld is het volgende vereist:

Naamruimten

Systeem

System.Collections.Generic

System.Text

Microsoft. ConfigurationManagement.ManagementProvider

Microsoft. ConfigurationManagement.ManagementProvider.WqlQueryEngine

Vergadering

microsoft.configurationmanagement.managementprovider

adminui.wqlqueryengine

Robuust programmeren

Zie Over Configuration Manager fouten voor meer informatie over foutafhandeling.

.NET Framework Beveiliging

Zie Configuration Manager op rollen gebaseerd beheer voor meer informatie over het beveiligen van Configuration Manager toepassingen.

Zie ook

Overzicht van objectenVerbinding maken met een SMS-provider in Configuration Manager met behulp van beheerde code
Verbinding maken met een SMS-provider in Configuration Manager met behulp van WMI
Een stap verplaatsen naar een andere takenreeksgroep voor besturingssysteemimplementatie
Een takenreeksgroep voor besturingssysteemimplementatie maken
Een stap verwijderen uit een besturingssysteemimplementatiegroep
Takenreeksoverzicht