Procédure pour créer un package de 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, dans Configuration Manager, en créant un instance de la classe SMS_TaskSequencePackage. Cette classe dérive de la classe SMS_Package et contient la séquence de tâches. Elle est annoncée aux clients qui peuvent ensuite exécuter la séquence de tâches. La séquence de tâches est associée au package de séquences de tâches à l’aide de la SMS_TaskSequencePackage méthode SetSequence de classe.

Vous pouvez organiser les packages de séquences de tâches en catégories en leur affectant une catégorie avec la propriété SMS_TaskSequence class Category.

Pour plus d’informations sur la création de séquences de tâches, voir Comment créer une séquence de tâches. Pour plus d’informations sur les packages de séquence de tâches, consultez le modèle objet de séquençage de tâches.

Vous publiez un package de séquence de tâches de la même façon que vous publiez un package SMS_PackageConfiguration Manager. Pour plus d’informations, voir Comment créer une publicité.

Pour créer un package de séquence de tâches

  1. Établissez une connexion au fournisseur SMS. Pour plus d’informations, consultez À propos du fournisseur SMS dans Configuration Manager.

  2. Créer une instance de SMS_TaskSequencePackage.

  3. Remplissez les propriétés du package de séquence de tâches.

  4. Appelez la méthode class SMS_TaskSequencePackageSetSequence pour associer une séquence de tâches (SMS_TaskSequence) au package de séquences de tâches.

Exemple

L’exemple de méthode suivant crée un package de séquence de tâches (SMS_TaskSequencePackage) et y associe une séquence de tâches (SMS_TaskSequence).

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

Sub CreateTaskSequencePackage (connection, taskSequence)

    Dim taskSequencePackage
    Dim packageClass
    Dim objInParams
    Dim objOutParams

    ' Create the new package object.
    Set taskSequencePackage = connection.Get("SMS_TaskSequencePackage").SpawnInstance_

    ' Populate the new package properties.
    taskSequencePackage.Name = "New task sequence package"
    taskSequencePackage.Description = "A new task sequence package description"

    ' Get the parameters object.
    Set packageClass = connection.Get("SMS_TaskSequencePackage")

    Set objInParams = packageClass.Methods_("SetSequence"). _
        inParameters.SpawnInstance_()

    ' Add the input parameters.
    objInParams.TaskSequence =  taskSequence
    objInParams.TaskSequencePackage = taskSequencePackage

    ' Add the sequence.
     Set objOutParams = connection.ExecMethod("SMS_TaskSequencePackage", "SetSequence", objInParams)

End Sub

public IResultObject CreateTaskSequencePackage(
    WqlConnectionManager connection,
    IResultObject taskSequence)
{
    try
    {
        Dictionary<string, object> inParams = new Dictionary<string, object>();

        // Create the new task sequence package.
        IResultObject taskSequencePackage = connection.CreateInstance("SMS_TaskSequencePackage");

        taskSequencePackage["Name"].StringValue = "New task sequence package";
        taskSequencePackage["Description"].StringValue = "A brand new task sequence package";
        taskSequencePackage["Category"].StringValue = "A custom category";

        // Note. Add other package properties as required.

        // Set up parameters that associate the task sequence with the package.
        inParams.Add("TaskSequence", taskSequence);
        inParams.Add("TaskSequencePackage", taskSequencePackage);

        // Associate the task sequence with the package. Note that a call to Put is not required.
        IResultObject result = connection.ExecuteMethod("SMS_TaskSequencePackage", "SetSequence", inParams);

        // The path to the new package.
        Console.WriteLine(result["SavedTaskSequencePackagePath"].StringValue);

        return taskSequencePackage;
    }
    catch (SmsException e)
    {
        Console.WriteLine("Failed to create Task Sequence: " + e.Message);
        throw;
    }
}

Cet 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
Une séquence de tâches valide SMS_TaskSequence

Compilation du code

L’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 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 WMIComment créer une séquence de tâches Vue d’ensemble de la séquence de tâches