Jak usunąć akcję sekwencji zadań wdrażania systemu operacyjnego

Usuwasz akcję sekwencji zadań wdrażania systemu operacyjnego w programie Configuration Manager, usuwając akcję z kroków sekwencji zadań.

Aby usunąć akcję sekwencji zadań

  1. Konfigurowanie połączenia z dostawcą usługi SMS. Aby uzyskać więcej informacji, zobacz Podstawy dostawcy wiadomości SMS.

  2. Uzyskiwanie obiektu sekwencji zadań (SMS_TaskSequence). Aby uzyskać więcej informacji, zobacz Jak utworzyć sekwencję zadań wdrażania systemu operacyjnego.

  3. Usuń akcję z właściwości tablicy SMS_TaskSequence.Steps .

Przykład

Poniższa przykładowa metoda usuwa akcję z sekwencji zadań. Akcja jest identyfikowana przez sprawdzenie właściwości WMI (Windows Management Instrumentation) __SUPERCLASS w celu upewnienia się, że pochodzi ona z SMS_TaskSequenceAction.

Aby uzyskać informacje na temat wywoływania przykładowego kodu, zobacz Wywoływanie fragmentów kodu programu Configuration Manager.

Sub RemoveAction (connection, taskSequence, actionName)

    Dim i
    Dim newArray
    Dim actionStep

    If taskSequence.SystemProperties_("__CLASS")<>"SMS_TaskSequence" Then
        wscript.echo "Not a task sequence"
        Exit Sub
    End If

    if IsNull(taskSequence.Steps) Then
        Wscript.Echo "No steps"
        Exit Sub
    End If

    ' Create an array to hold copied steps.
    newArray = Array(taskSequence.Steps)
    ReDim newArray(UBound(taskSequence.Steps))

    ' Copy the steps into the array and remove the matching action.
    i=0
    for each  actionStep in taskSequence.Steps
        If actionStep.Name = actionName and _
          actionStep.SystemProperties_("__SUPERCLASS") = "SMS_TaskSequence_Action" Then
             ReDim preserve newArray(UBound(newArray)-1) ' shrink the Array
        else
           Set newArray(i)=actionStep ' copy it
           i=i+1
        End If
     Next

     ' Assign new array back to the task sequence.
     taskSequence.Steps=newArray

End Sub
public void RemoveAction(
    IResultObject taskSequence,
    string actionName)
{
    try
    {
        // Get a list of steps.
        List<IResultObject> actionSteps = taskSequence.GetArrayItems("Steps");

        // Find the action to be deleted.
        foreach (IResultObject actionStep in actionSteps)
        {
            if (actionStep["Name"].StringValue == actionName && actionStep["__SUPERCLASS"].StringValue == "SMS_TaskSequence_Action")
            {
                // Delete the action.
                actionSteps.Remove(actionStep);
                break;
            }
        }

        // Update the task sequence.
        taskSequence.SetArrayItems("Steps", actionSteps);
    }
    catch (Exception e)
    {
        Console.WriteLine("Failed to remove action: " + e.Message);
        throw;
    }
}

Przykładowa metoda ma następujące parametry:

Parametr Wpisać Opis
Connection - Zarządzane:WqlConnectionManager
- VBScript: SWbemServices
Prawidłowe połączenie z dostawcą SMS.
taskSequence - Zarządzane: IResultObject
- VBScript: SWbemObject
Sekwencja zadań zawierająca akcję do usunięcia.
actionName - Zarządzane: String
- VBScript: String
Nazwa akcji do usunięcia. Można go uzyskać na miejscu SMS_TaskSequenceAction.Name .

Kompilowanie kodu

Ten przykład języka C# wymaga:

Przestrzenie nazw

System

System.Collections.Generic

System.Text

Microsoft.ConfigurationManagement.ManagementProvider

Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine

Montaż

microsoft.configurationmanagement.managementprovider

adminui.wqlqueryengine

Wydajne programowanie

Aby uzyskać więcej informacji na temat obsługi błędów, zobacz Informacje o błędach programu Configuration Manager.

Zabezpieczenia platformy .NET Framework

Aby uzyskać więcej informacji na temat zabezpieczania aplikacji programu Configuration Manager, zobacz Administracja oparta na rolach programu Configuration Manager.

Zobacz też

Omówienie obiektówJak dodać akcję sekwencji zadań wdrażania systemu operacyjnego Jak nawiązaćpołączenie z dostawcą wiadomości SMS w programie Configuration Manager przy użyciu kodu zarządzanegoJak połączyć się z dostawcą wiadomości SMS w programie Configuration Manager przy użyciu usługi WMIOmówienie sekwencji zadań