Partager via


Guide pratique pour ajouter une étape à un groupe de déploiement de système d’exploitation

Vous ajoutez une étape (une action ou un groupe) à un groupe de séquences de tâches de déploiement de système d’exploitation, dans Configuration Manager, en ajoutant l’étape à la SMS_TaskSequenceGroup.Steps propriété de tableau.

Pour ajouter une étape à un groupe de séquences de tâches

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

  2. Obtenez l’objet SMS_TaskSequenceGroup auquel vous souhaitez ajouter l’étape. Pour plus d’informations, consultez How to Create an Operating System Deployment Task Sequence Group.

  3. Créez l’étape de séquence de tâches. Pour obtenir un exemple de création d’une étape d’action, consultez Comment ajouter une action de séquence de tâches de déploiement de système d’exploitation.

  4. Ajoutez l’étape à la SMS_TaskSequenceGroup.Steps propriété de tableau.

  5. Réorganisez l’étape dans la propriété de tableau si nécessaire. Pour plus d’informations, consultez Guide pratique pour réorganiser une séquence de tâches de déploiement de système d’exploitation

Exemple

L’exemple de méthode suivant ajoute une action de ligne de commande à un groupe de séquences de tâches.

Pour plus d’informations sur l’appel de l’exemple de code, consultez Appel d’extraits de code Configuration Manager.

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

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

taskSequenceStep
-Géré: IResultObject
- VBScript : SWbemObject
- Séquence de tâches valide (SMS_TaskSequence) qui contient le groupe.
groupName

group
-Géré: String
-Vbscript: String
Nom du groupe auquel l’action de ligne de commande est ajoutée. Ceci est obtenu à partir de la SMS_TaskSequenceGroup.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 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
Comment déplacer une étape vers un autre groupe de séquences de tâches de déploiement de système d’exploitation
Comment créer un groupe de séquences de tâches de déploiement de système d’exploitation
Comment supprimer une étape d’un groupe de déploiement de système d’exploitation
Vue d’ensemble de la séquence de tâches