Använda aktivitetssekvensvariabler i en Configuration Manager aktivitetssekvens som körs

I Configuration Manager kan du skapa, hämta och ange aktivitetssekvensvariabler i en aktivitetssekvens som körs med hjälp av COM-automatiseringsobjektet för aktivitetssekvensmiljön (Microsoft.SMS.TSEnvironment).

Vanligtvis använder du en kommandoradsåtgärd som kör ett skript för att komma åt aktivitetssekvensvariablerna. Men du kan också komma åt dem i en aktivitetssekvens som körs med hjälp av alla programmeringsmiljöer som kan använda COM-automatiseringsobjekt.

Obs!

När du anger en aktivitetsvariabel på Configuration Manager-klienten blir den tillgänglig för efterföljande steg i aktivitetssekvensen.

Om du vill skapa en anpassad aktivitetssekvensvariabel anger du en Microsoft.SMS.TSEnvironment egenskap med hjälp av namnet på den nya variabel som du vill skapa. Om variabeln inte redan finns skapas den. Om variabeln redan finns uppdateras dess värde. Du kan senare hämta det anpassade variabelvärdet från Microsoft.SMS.TSEnvironment.

När en aktivitetssekvensvariabel är en matris skickas den i följande format:

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

Variabeln OSDPartitions är till exempel en matris med SMS_TaskSequencePartitionSettings. I följande exempel visas en matris med ett element OSDPartitions :

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

Om du vill komma åt FileSystem i den här matrisen använder OSDPartitions0FileSystemdu . Om matrisen är större använderOSDPartitions1FileSystem du för det andra elementet och så vidare via matrisen.

Vi rekommenderar inte att du använder hanterad kod med aktivitetssekvenseringsmiljön eftersom du inte kan använda den i följande miljöer:

  • Windows PE

  • Windows Server 2008

  • Windows 2000

    Hanterad kod fungerar när det fullständiga operativsystemet körs med rätt version av .NET Framework installerad.

    Vilken version av .NET Framework som krävs beror på vilken version av Visual Studio du använder.

Visual Studio .NET Framework version
Visual Studio 2003 1.0
Visual Studio 2005 2.0
Visual Studio 2008 2.0 till 3.5

Du måste använda COM-interop för att komma åt objektet TSEnvironment . Du behöver följande:

  • Referens till typbiblioteket TSEnvironment 1.0.

  • Namnområdet TSEnvironmentLib.

Så här använder du aktivitetsvariabler i en aktivitetssekvens som körs

  1. Skapa en instans av Microsoft.SMS.TSEnvironmenti en aktivitetssekvens som körs.

  2. Hämta eller ange den miljövariabel som krävs.

Exempel

Följande exempelmetod hämtar variabeln _SMSTSLogPath . Den anger också värdet för en anpassad variabel och ett anpassat variabelvärde för matrisen.

Information om hur du anropar exempelkoden finns i Anropa Configuration Manager kodfragment.

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  

Kompilera koden

Plattformar

Sekvenseringsmiljö för operativsystemdistributionsaktivitet

Robust programmering

Mer information om felhantering finns i Om Configuration Manager fel.

.NET Framework Säkerhet

Mer information om hur du skyddar Configuration Manager program finns i Configuration Manager rollbaserad administration.

Se även

ObjektöversiktSå här ansluter du till en SMS-provider i Configuration Manager med hjälp av hanterad kod
Ansluta till en SMS-provider i Configuration Manager med hjälp av WMI
Översikt över aktivitetssekvensså här ställer du in en aktivitetssekvensvariabel för operativsystemdistribution