我有一个包含多个变量的任务序列,这些变量存储在对象本身上。当TS执行时,从变量中运行转储看起来很好,我可以看到我创建的所有变量。但是,当我在TS中创建一个包含程序的包时,我需要能够在程序中调用那些相同的变量。
这有可能以任何方式将TS变量转移到程序中吗?
答案 0 :(得分:1)
有一个COM对象“Microsoft.SMS.TSEnvironment”可以执行此操作。所以它主要取决于您的程序使用的语言。
在VBScript中,它很容易,例如:
Set smstsenv = CreateObject("Microsoft.SMS.TSEnvironment")
strTSAdvID = smstsenv("_SMSTSAdvertID")
获取广告ID或
smstsenv.GetVariables
获取所有变量。 Powershell同样微不足道。 C#或C ++也应该能够处理COM对象。如果您选择的语言确实不支持它们,您可以始终将程序包装在脚本中,该脚本读取变量并将其传递,作为命令行参数或者可以设置具有相同名称的普通Windows环境变量,