Partage via


Guide pratique pour créer une séquence de tâches de déploiement de système d’exploitation

Vous créez une séquence de tâches de déploiement de système d’exploitation Configuration Manager en créant une instance de la classe SMS_TaskSequence.

Une séquence de tâches contient une ou plusieurs étapes qui sont exécutées séquentiellement sur l’ordinateur client. Pour plus d’informations, consultez Modèle objet de séquence de tâches de déploiement de système d’exploitation.

La séquence de tâches est ensuite empaquetée dans un SMS_TaskSequencePackage et annoncée sur l’ordinateur client.

Pour créer une séquence de tâches

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

  2. Créez un objet de séquence SMS_TaskSequence de tâches.

  3. Ajoutez des actions et, si nécessaire, ajoutez des groupes à l’action. Pour plus d’informations, consultez Comment ajouter une action de séquence de tâches de déploiement de système d’exploitation.

  4. Associez la séquence de tâches à un package de séquence de tâches. Pour plus d’informations, consultez How to Create an Operating System Deployment Task Sequence Package.

  5. Publiez la séquence de tâches sur l’ordinateur client. Pour plus d’informations, consultez Guide pratique pour créer une publication.

Exemple

L’exemple de méthode suivant crée une séquence de tâches qui installe un programme logiciel. L’exemple crée également un package de séquence de tâches en appelant l’exemple défini dans How to Create an Operating System Deployment Task Sequence Package.

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

Sub CreateInstallSoftwareTaskSequence(connection,name, description, packageID, programName)  

    ' Create the task sequence.  
    set taskSequence = connection.Get("SMS_TaskSequence").SpawnInstance_  

    ' Create the action.  
    set action = connection.Get("SMS_TaskSequence_InstallSoftwareAction").SpawnInstance_  

    action.ProgramName=programName  
    action.PackageID=packageID  
    action.Name=name  
    action.Enabled=true  
    action.ContinueOnError=false  

    ' Create an array to hold the action.  
    actionSteps= array(action)  
    ' Add the array to the task sequence.  
    taskSequence.Steps=actionSteps  

    wscript.echo taskSequence.Steps(0).Name  
    call CreateTaskSequencePackage (connection, taskSequence)  

 End Sub  
public void CreateInstallSoftwareTaskSequence(  
    WqlConnectionManager connection,   
    string name,   
    string packageId,   
    string programName)  
{  
    try  
    {  
        // Create the task sequence.  
        IResultObject taskSequence = connection.CreateInstance("SMS_TaskSequence");  

        IResultObject ro = connection.CreateEmbeddedObjectInstance("SMS_TaskSequence_InstallSoftwareAction");  
        ro["ProgramName"].StringValue = programName;  
        ro["packageId"].StringValue = packageId;  
        ro["Name"].StringValue = name;  
        ro["Enabled"].BooleanValue = true;  
        ro["ContinueOnError"].BooleanValue = false;  

        // Add the step to the task sequence.  
        List<IResultObject> array = taskSequence.GetArrayItems("Steps");  

        array.Add(ro);  

        taskSequence.SetArrayItems("Steps", array);  

        // Create the task sequence package.  
        this.CreateTaskSequencePackage(connection, taskSequence);  
    }  
    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.
name -Géré: String
-Vbscript: String
Nom de l’étape de séquence de tâches.
description -Vbscript: String Description de l’étape de séquence de tâches.
packageID -Géré: String
-Vbscript: String
Identificateur de package contenant le logiciel à installer. Obtenu à partir de SMS_Package.PackageID.
programName -Géré: String
-Vbscript: String
Nom du programme à installer. Obtenu à partir de SMS_Program.ProgramName.

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
Vue d’ensemble des séquencesde tâches Comment créer un package de séquence de tâches de déploiement de système d’exploitation