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 OSDPartitions0FileSystem
du . 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
Skapa en instans av
Microsoft.SMS.TSEnvironment
i en aktivitetssekvens som körs.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