Partager via


Comment 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 un 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 du code managéComment se connecter à un fournisseur SMS dans Configuration Manager à l’aide de la séquence de tâches WMI Vue d’ensembleComment créer un package de séquence de tâches de déploiement de système d’exploitation