Procédure pour supprimer une action de séquence de tâches de déploiement de système d’exploitation

Vous supprimez une action de séquence de tâches de déploiement de système d’exploitation, dans Configuration Manager, en supprimant l’action des étapes de séquence de tâches.

Pour supprimer une action de séquence de tâches

  1. Établissez une connexion au fournisseur SMS. Pour plus d’informations, consultez Principes de base du fournisseur SMS.

  2. Obtenez un objet de séquence de tâches (SMS_TaskSequence). Pour plus d’informations, consultez Procédure pour créer une séquence de tâches de déploiement de système d’exploitation.

  3. Supprimez l’action de la propriété de tableau SMS_TaskSequence.Steps .

Exemple

L’exemple de méthode suivant supprime une action de la séquence de tâches. L’action est identifiée en tant qu’action en vérifiant la propriété Windows Management Instrumentation (WMI) __SUPERCLASS pour vous assurer qu’elle provient de SMS_TaskSequenceAction.

Pour plus d’informations sur l’appel de l’exemple de code, consultez Appel d’extraits de code de 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;
    }
}

L’exemple de méthode contient les paramètres suivants :

Paramètre Type Description
Connection - Géré :WqlConnectionManager
- VBScript : SWbemServices
Connexion valide au fournisseur SMS.
taskSequence - Géré : IResultObject
- VBScript : SWbemObject
Séquence de tâches contenant l’action à supprimer.
actionName - Géré : String
- VBScript : String
Nom de l’action à supprimer. Cela peut être obtenu auprès de la SMS_TaskSequenceAction.Name propriété.

Compilation du code

Cet exemple C# requiert :

Espaces de noms

Système

System.Collections.Generic

System.Text

Microsoft.ConfigurationManagement.ManagementProvider

Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine

Assembly

Microsoft.ConfigurationManagement.ManagementProvider

adminui.wqlqueryengine

Programmation robuste

Pour plus d’informations sur la gestion des erreurs, voir À propos des erreurs du Configuration Manager.

Sécurité de .NET Framework

Pour plus d’informations sur la sécurisation des applications Configuration Manager, voir Administration basée sur les rôles de Configuration Manager.

Voir aussi

Vue d’ensemble des objetsComment ajouter un déploiement de système d’exploitation Action de séquence de tâchesComment se connecter à un fournisseur SMS dans Configuration Manager à l’aide de code managéComment se connecter à un fournisseur SMS dans Configuration Manager à l’aide de WMIVue d’ensemble de la séquence de tâches