程序中的 SCCM 任务序列变量

SCCM Task sequence Variable inside a Program

我有一个任务序列,其中包含多个存储在对象本身上的变量。 运行 当 TS 执行时从变量中转储看起来很好,我可以看到我创建的所有变量。但是,当我在 TS 中创建一个程序包时,我需要能够在程序中调用这些相同的变量。

是否可以通过任何方式将 TS 变量转移到程序中?

有一个 COM 对象 "Microsoft.SMS.TSEnvironment" 可以做到这一点。所以这主要取决于你的程序使用的语言。

在 VBScript 中这很容易,例如:

Set smstsenv = CreateObject("Microsoft.SMS.TSEnvironment") 
strTSAdvID = smstsenv("_SMSTSAdvertID")

获取广告 ID 或

smstsenv.GetVariables

获取所有变量。 Powershell 也同样微不足道。 C# 或 C++ 也应该能够处理 COM 对象。如果您选择的语言以某种方式不支持它们,您总是可以将程序包装在脚本中,该脚本读取变量并将其传递给命令行参数,或者设置一个具有相同名称的普通 windows 环境变量,