Procédure pour définir une variable de séquence de tâches de déploiement de système d’exploitation

Dans Configuration Manager, vous créez une variable de séquence de tâches de déploiement de système d’exploitation en créant un instance de la classe SMS_TaskSequence_SetVariableAction, en ajoutant à une séquence de tâches. Vous pouvez également créer des variables de séquence de tâches pendant l’exécution de la séquence de tâches sur le client. Pour plus d’informations, voir Comment utiliser des variables de séquence de tâches dans une séquence de tâches Configuration Manager en cours d’exécution.

Une variable de séquence de tâches est une paire nom/valeur à laquelle vous pouvez accéder par étapes de séquence de tâches. Vous pouvez également créer des variables spécifiques à l’ordinateur et à une collection. Pour plus d’informations, consultez Comment créer une variable de collection dans Configuration Manager et Procédure pour créer une variable d’ordinateur dans Configuration Manager.

Remarque

Les variables définies avec la classe SMS_TaskSequence_SetVariableAction remplacent les variables définies ailleurs. Par exemple, si une variable de collection et un SMS_TaskSequence_SetVariableAction portent le même nom, la valeur de la variable SMS_TaskSequence_SetVariableAction est prioritaire.

Pour définir une variable de séquence de tâches

  1. Établissez une connexion au fournisseur SMS. Pour plus d’informations, consultez Principes de base du fournisseur SMS.

  2. Obtenez une séquence de tâches à laquelle ajouter la variable de séquence de tâches. Pour plus d’informations, consultez Procédure pour créer une séquence de tâches de déploiement de système d’exploitation.

  3. Créer un instance de SMS_TaskSequence_SetVariableAction.

  4. Définissez les propriétés VariableName et VariableValue pour la variable que vous ajoutez.

  5. Ajoutez l’objet SMS_TaskSequence_SetVariableAction à la séquence de tâches.

Exemple

L’exemple de méthode suivant définit une séquence de tâches, un nom de variable et une valeur.

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

Sub AddTaskSequenceVariable(connection, taskSequence, variableName, variableValue)

    Dim variable
    Dim steps

    Set variable = connection.Get("SMS_TaskSequence_SetVariableAction").SpawnInstance_

    variable.Name="MyTaskSequenceVariable"
    variable.Description = "A task sequence variable"
    variable.Enabled=True
    variable.ContinueOnError=False
    variable.VariableName=variableName
    variable.VariableValue=variableValue

    steps= Array(taskSequence.Steps)

    ReDim steps (UBound (taskSequence.Steps)+1)

    taskSequence.Steps(UBound(steps))=variable

End Sub
public void AddTaskSequenceVariable(
    WqlConnectionManager connection,
    IResultObject taskSequence,
    string variableName,
    string variableValue)
{
    try
    {
        // Create the task sequence variable object.
        IResultObject variable = connection.CreateEmbeddedObjectInstance("SMS_TaskSequence_SetVariableAction");

        // Populate the properties.
        variable["Name"].StringValue = "MyTaskSequenceVariable";
        variable["ContinueOnError"].BooleanValue = false;
        variable["Description"].StringValue = "A task sequence variable set with SMS_TaskSequence_SetVariableAction";
        variable["Enabled"].BooleanValue = true;
        variable["VariableName"].StringValue = variableName;
        variable["VariableValue"].StringValue = variableValue;

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

        array.Add(variable);
        taskSequence.SetArrayItems("Steps", array);
    }
    catch (SmsException e)
    {
        Console.WriteLine("Failed to set task sequence variable: " + e.Message);
        throw;
    }
}

Cet exemple de méthode contient les paramètres suivants :

Paramètre Type Description
connection - Géré : WqlConnectionManager
- VBScript : SWbemServices
- Une connexion valide au fournisseur de SMS.
taskSequence - Géré : WqlConnectionManager
- VBScript : SWbemServices
- Séquence de tâches à laquelle la variable est ajoutée.
variableName - Géré : String
- VBScript : String
Nom de la variable.
variableValue - Géré : String
- VBScript : String
Valeur de la variable.

Compilation du code

Cet 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 WMIVue d’ensemble de la séquence de tâchesComment utiliser des variables de séquence de tâches dans une tâche Configuration Manager en cours d’exécution Séquencercomment lire une séquence de tâches à partir d’un package de séquence de tâches