Partager via


Comment 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 la séquence de tâches.

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

  1. Configurez une connexion au fournisseur SMS. Pour plus d’informations, consultez Notions de base du fournisseur SMS.

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

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

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é WMI (Windows Management Instrumentation) __SUPERCLASS pour vérifier qu’elle dérive de SMS_TaskSequenceAction.

Pour plus d’informations sur l’appel de l’exemple de code, consultez Appel d’extraits de code 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 a 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. Vous pouvez l’obtenir à partir de la SMS_TaskSequenceAction.Name propriété .

Compilation du code

Cet exemple C# nécessite :

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, consultez À propos des erreurs Configuration Manager.

Sécurité de .NET Framework

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

Voir aussi

Vue d’ensemble des objetsComment ajouter une action de séquence de tâches de déploiement de système d’exploitation
Comment 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 WMI
Vue d’ensemble de la séquence de tâches