Freigeben über


Entfernen eines Schritts aus einer Betriebssystembereitstellungsgruppe

In Configuration Manager löschen Sie einen Schritt (eine Aktion oder eine Gruppe) aus einer Tasksequenzgruppe für die Betriebssystembereitstellung, indem Sie den Schritt aus der Liste der Tasksequenzschritte der Gruppe löschen.

So entfernen Sie einen Schritt aus einer Gruppe

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

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

  3. Entfernen Sie die Aktion aus der SMS_TaskSequence_Group.Steps-Arrayeigenschaft.

Beispiel

Die folgende Beispielmethode entfernt eine Aktion aus einer Tasksequenzgruppe.

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

Sub RemoveActionFromGroup(taskSequenceGroup, actionName)

    Dim i

    If taskSequenceGroup.SystemProperties_("__CLASS")<>"SMS_TaskSequence_Group" Then
        wscript.echo "Not a group"
        return
    End If

        Dim newArray
        Dim actionStep

        newArray = Array(taskSequenceGroup.Steps)
        ReDim newArray(UBound(taskSequenceGroup.Steps))

        i=0
        for each  actionStep in taskSequenceGroup.Steps
            If actionStep.Name = actionName and _
              actionStep.SystemProperties_("__SUPERCLASS") = "SMS_TaskSequence_Action" Then
                 ReDim preserve newArray(UBound(newArray)-1) ' shrink the Array
            else
               wscript.echo actionStep.Name
               Set newArray(i)=actionStep ' copy it
               i=i+1
            End If

         Next

         taskSequenceGroup.Steps=newArray

 End Sub
public void RemoveActionFromGroup(
    IResultObject taskSequenceGroup,
    string actionName)
{
    try
    {
        if (taskSequenceGroup["__CLASS"].StringValue != "SMS_TaskSequence_Group")
        {
            throw new System.InvalidOperationException("Not a group");
        }

        List<IResultObject> groupSteps = taskSequenceGroup.GetArrayItems("Steps");
        IResultObject actionFound = null;
        foreach (IResultObject actionStep in groupSteps)
        {
            if (actionStep["Name"].StringValue == actionName && actionStep["__SUPERCLASS"].StringValue == "SMS_TaskSequence_Action")
            {
                actionFound = actionStep;
                break;
            }
        }

        groupSteps.Remove(actionFound);
        taskSequenceGroup.SetArrayItems("Steps", groupSteps);
    }
    catch (SmsException e)
    {
        Console.WriteLine("Failed to remove action: " + e.Message);
        throw;
    }
}

Die Beispielmethode verfügt über die folgenden Parameter:

Parameter Typ Beschreibung
taskSequenceGroup – Verwaltet: IResultObject
– VBScript: SWbemObject
Die Tasksequenzgruppe, die die zu löschende Aktion enthält.
actionName -Gehandhabt: String
– VBScript: String
Der Name der aktion, die gelöscht werden soll. Dies kann von der SMS_TaskSequenceAction.Name-Eigenschaft abgerufen werden.

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übersichtHinzufügen eines Schritts zu einer BetriebssystembereitstellungsgruppeHerstellen einer Verbindung mit einem SMS-Anbieter in Configuration Manager mithilfe von verwaltetem CodeHerstellen einer Verbindung mit einem SMS-Anbieter in Configuration Manager mithilfe von WMIVorgehensweise: Verschieben eines Schritts in eine andere Tasksequenzgruppefür die BetriebssystembereitstellungÜbersicht über die Tasksequenzgruppe "Erstellen einer Tasksequenzgruppe für die Betriebssystembereitstellung"