Teilen über


Verwenden von Tasksequenzvariablen in einer ausgeführten Configuration Manager Tasksequenz

In Configuration Manager können Sie Tasksequenzvariablen in einer ausgeführten Tasksequenz mithilfe des COM-Automatisierungsobjekts (Microsoft.SMS.TSEnvironment) der Tasksequenzumgebung erstellen, abrufen und festlegen.

In der Regel verwenden Sie eine Befehlszeilenaktion, die ein Skript ausführt, um auf die Tasksequenzvariablen zuzugreifen. Sie können aber auch innerhalb einer Tasksequenz auf sie zugreifen, indem Sie eine beliebige Programmierumgebung verwenden, die COM-Automatisierungsobjekte verwenden kann.

Hinweis

Wenn Sie eine Aufgabenvariable auf dem Configuration Manager-Client festlegen, wird sie für nachfolgende Schritte in der Tasksequenz verfügbar.

Um eine benutzerdefinierte Tasksequenzvariable zu erstellen, legen Sie eine Microsoft.SMS.TSEnvironment Eigenschaft mithilfe des Namens der neuen Variablen fest, die Sie erstellen möchten. Wenn die Variable noch nicht vorhanden ist, wird sie erstellt. Wenn die Variable bereits vorhanden ist, wird ihr Wert aktualisiert. Anschließend können Sie den benutzerdefinierten Variablenwert aus Microsoft.SMS.TSEnvironmentabrufen.

Wenn eine Tasksequenzvariable ein Array ist, wird sie im folgenden Format übergeben:

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

Die Variable ist beispielsweise OSDPartitions ein Array von SMS_TaskSequencePartitionSettings. Im Folgenden wird ein Array mit einem Element OSDPartitions dargestellt:

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

Für den Zugriff auf FileSystem dieses Array verwenden OSDPartitions0FileSystemSie . Wenn das Array größer ist, verwendenOSDPartitions1FileSystem Sie für das zweite Element usw. über das Array.

Es wird nicht empfohlen, verwalteten Code mit der Tasksequenzierungsumgebung zu verwenden, da Sie ihn in den folgenden Umgebungen nicht verwenden können:

  • Windows PE

  • Windows Server 2008

  • Windows 2000

    Verwalteter Code funktioniert, wenn das vollständige Betriebssystem mit der richtigen Version von .NET Framework installiert wird.

    Die erforderliche Version von .NET Framework hängt von der version von Visual Studio ab, die Sie verwenden.

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

Sie müssen COM-Interop verwenden, um auf das TSEnvironment Objekt zuzugreifen. Sie benötigen Folgendes:

  • Verweis auf die TSEnvironment 1.0-Typbibliothek.

  • Der TSEnvironmentLib-Namespace .

So verwenden Sie Taskvariablen in einer ausgeführten Tasksequenz

  1. Erstellen Sie in einer ausgeführten Tasksequenz eine Instanz von Microsoft.SMS.TSEnvironment.

  2. Rufen Sie die erforderliche Umgebungsvariable ab oder legen Sie sie fest.

Beispiel

Die folgende Beispielmethode ruft die _SMSTSLogPath Variable ab. Außerdem wird der Wert einer benutzerdefinierten Variablen und eines benutzerdefinierten Arrayvariablenwerts festgelegt.

Informationen zum Aufrufen des Beispielcodes finden Sie unter Aufrufen von Configuration Manager Codeausschnitten.

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  

Kompilieren des Codes

Plattformen

Tasksequenzierungsumgebung für die Betriebssystembereitstellung

Robuste Programmierung

Weitere Informationen zur Fehlerbehandlung finden Sie unter Informationen zu Configuration Manager Fehlern.

.NET Framework-Sicherheit

Weitere Informationen zum Schützen Configuration Manager Anwendungen finden Sie unter Configuration Manager rollenbasierte Verwaltung.

Siehe auch

Objektübersicht: Herstellen einer Verbindung mit einem SMS-Anbieter in Configuration Manager mithilfe von verwaltetem Code
Herstellen einer Verbindung mit einem SMS-Anbieter in Configuration Manager mithilfe von WMI
TasksequenzübersichtFestlegen einer Tasksequenzvariable für die Betriebssystembereitstellung