如何在正在运行的Configuration Manager任务序列中使用任务序列变量
在Configuration Manager中,可以使用任务序列环境 COM 自动化对象 (Microsoft.SMS.TSEnvironment
) ,在正在运行的任务序列中创建、获取和设置任务序列变量。
通常,使用命令行操作来运行脚本来访问任务序列变量。 但是,还可以通过使用可以使用 COM 自动化对象的任何编程环境,在运行任务序列中访问它们。
注意
在 Configuration Manager 客户端上设置任务变量时,该变量可用于任务序列中的后续步骤。
若要创建自定义任务序列变量,请使用要创建的新变量的名称设置 Microsoft.SMS.TSEnvironment
属性。 如果该变量尚不存在,则会创建它。 如果变量已存在,则更新其值。 随后可以从 获取自定义变量值 Microsoft.SMS.TSEnvironment
。
当任务序列变量是数组时,将按以下格式传递它:
<base array name><element #><Property>="value".
例如, 变量 OSDPartitions
是 的 SMS_TaskSequencePartitionSettings
数组。 下面表示一个元素 OSDPartitions
数组:
OSDPartitions0Bootable="true"
OSDPartitions0FileSystem="NTFS"
OSDPartition0QuickFormat="false"
OSDPartitions0Size="100"
OSDPartitions0SizeUnits="Percent"
OSDPartitions0Type="Primary"
若要访问 FileSystem
此数组,请使用 OSDPartitions0FileSystem
。 如果数组较大,则通过数组对第二个元素等使用OSDPartitions1FileSystem
。
不建议将托管代码用于任务排序环境,因为无法在以下环境中使用它:
Windows PE
Windows Server 2008
Windows 2000
当完整操作系统正在运行并安装了正确版本的 .NET Framework 时,托管代码将正常工作。
所需的.NET Framework版本取决于所使用的 Visual Studio 版本。
Visual Studio | .NET Framework版本 |
---|---|
Visual Studio 2003 | 1.0 |
Visual Studio 2005 | 2.0 |
Visual Studio 2008 | 2.0 到 3.5 |
你将需要使用 COM 互操作来访问 对象 TSEnvironment
。 需要满足以下条件:
对 TSEnvironment 1.0 类型库的引用。
TSEnvironmentLib 命名空间。
在正在运行的任务序列中使用任务变量
在正在运行的任务序列中,创建 实例
Microsoft.SMS.TSEnvironment
。获取或设置所需的环境变量。
示例
以下示例方法获取 _SMSTSLogPath
变量。 它还设置自定义变量和数组自定义变量值的值。
有关调用示例代码的信息,请参阅调用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
编译代码
平台
操作系统部署任务排序环境
可靠编程
有关错误处理的详细信息,请参阅关于Configuration Manager错误。
.NET Framework 安全性
有关保护Configuration Manager应用程序的详细信息,请参阅Configuration Manager基于角色的管理。
另请参阅
对象概述如何使用托管代码连接到 Configuration Manager 中的 SMS 提供程序
如何使用 WMI 连接到 Configuration Manager 中的短信提供程序
任务序列概述如何设置操作系统部署任务序列变量