Guide pratique 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 une 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 que la séquence de tâches est en cours d’exécution sur le client. Pour plus d’informations, consultez Guide pratique pour 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 au regroupement. Pour plus d’informations, consultez How to Create a Collection Variable in Configuration Manager et How to Create a Computer Variable in 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 une 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
Configurez une connexion au fournisseur SMS. Pour plus d’informations, consultez Notions de base du fournisseur SMS.
Obtenir une séquence de tâches à laquelle ajouter la variable de séquence de tâches. Pour plus d’informations, consultez Procédure de création d’une séquence de tâches de déploiement de système d’exploitation.
Créez une instance de SMS_TaskSequence_SetVariableAction.
Définissez les propriétés VariableName et VariableValue pour la variable que vous ajoutez.
Ajoutez l’objet SMS_TaskSequence_SetVariableAction à la séquence de tâches.
Exemple
L’exemple de méthode suivant définit un nom et une valeur de variable de séquence de tâches.
Pour plus d’informations sur l’appel de l’exemple de code, consultez Appel d’extraits de code 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 a les paramètres suivants :
Paramètre | Type | Description |
---|---|---|
connection |
-Géré: WqlConnectionManager - VBScript : SWbemServices |
- Connexion valide au fournisseur 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# 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 de la séquence de tâches Comment utiliser des variables de séquence de tâches dans une séquence de tâches Configuration Manager en cours d’exécution
Guide pratique pour lire une séquence de tâches à partir d’un package de séquences de tâches