Comment utiliser des variables de séquence de tâches dans une séquence de tâches Configuration Manager en cours d’exécution

Dans Configuration Manager, vous pouvez créer, obtenir et définir des variables de séquence de tâches dans une séquence de tâches en cours d’exécution à l’aide de l’objet d’automatisation COM de l’environnement de séquence de tâches (Microsoft.SMS.TSEnvironment).

En règle générale, vous utilisez une action de ligne de commande qui exécute un script pour accéder aux variables de séquence de tâches. Mais vous pouvez également y accéder, dans une séquence de tâches en cours d’exécution, en utilisant n’importe quel environnement de programmation pouvant utiliser des objets d’automatisation COM.

Remarque

Lorsque vous définissez une variable de tâche sur le client Configuration Manager, elle devient disponible pour les étapes suivantes de la séquence de tâches.

Pour créer une variable de séquence de tâches personnalisée, vous définissez une Microsoft.SMS.TSEnvironment propriété en utilisant le nom de la nouvelle variable que vous souhaitez créer. Si la variable n’existe pas déjà, elle est créée. Si la variable existe déjà, sa valeur est mise à jour. Vous pouvez ensuite obtenir la valeur de la variable personnalisée à partir de Microsoft.SMS.TSEnvironment.

Lorsqu’une variable de séquence de tâches est un tableau, elle est passée au format suivant :

<base array name><element #><Property>="value".  

Par exemple, la OSDPartitions variable est un tableau de SMS_TaskSequencePartitionSettings. L’élément suivant représente un élément OSDPartitions Array :

OSDPartitions0Bootable="true"  
OSDPartitions0FileSystem="NTFS"  
OSDPartition0QuickFormat="false"  
OSDPartitions0Size="100"  
OSDPartitions0SizeUnits="Percent"  
OSDPartitions0Type="Primary"  

Pour accéder FileSystem à ce tableau, vous devez utiliser OSDPartitions0FileSystem. Si le tableau est plus grand, vous devez utiliserOSDPartitions1FileSystem pour le deuxième élément et ainsi de suite dans le tableau.

Il n’est pas recommandé d’utiliser du code managé avec l’environnement de séquencement de tâches, car vous ne pouvez pas l’utiliser dans les environnements suivants :

  • Windows PE

  • Windows Server 2008

  • Windows 2000

    Le code managé fonctionne lorsque le système d’exploitation complet est en cours d’exécution avec la version correcte du .NET Framework installée.

    La version de .NET Framework requise dépend de la version de Visual Studio que vous utilisez.

Visual Studio Version du .NET Framework
Visual Studio 2003 1.0
Visual Studio 2005 2.0
Visual Studio 2008 2.0 à 3.5

Vous devez utiliser COM Interop pour accéder à l’objet TSEnvironment . Vous aurez besoin des éléments suivants :

  • Référence à la bibliothèque de types TSEnvironment 1.0.

  • Espace de noms TSEnvironmentLib .

Pour utiliser des variables de tâche dans une séquence de tâches en cours d’exécution

  1. Dans une séquence de tâches en cours d’exécution, créez une instance de Microsoft.SMS.TSEnvironment.

  2. Obtient ou définit la variable d’environnement requise.

Exemple

L’exemple de méthode suivant obtient la _SMSTSLogPath variable . Il définit également la valeur d’une variable personnalisée et d’une valeur de variable personnalisée de tableau.

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

Sub UseTaskSequenceVariables()  
   dim osd: set env = CreateObject("Microsoft.SMS.TSEnvironment")  
   dim logPath  

   ' You can query the environment to get an existing variable.  
   logPath = env("_SMSTSLogPath")  

    wscript.echo logPath   

   ' You can also set a variable in the Operating System Deployment environment.  
   env("MyCustomVariable") = "My Custom Value"  

   ' Set the OSDPartitions(0) Bootable array member to 0.  
    env("OSDPartitions0Bootable") = "true"  
End Sub  

Compilation du code

Plateformes

Environnement de séquencement des tâches de déploiement de système d’exploitation

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équencede tâches Comment définir une variable de séquence de tâches de déploiement de système d’exploitation