如何在執行中的 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 Interop 來存取 TSEnvironment 物件。 您將需要下列項目:

  • TSEnvironment 1.0 類型程式庫的參考。

  • TSEnvironmentLib 命名空間。

在執行中的工作順序中使用工作變數

  1. 在執行中的工作順序中,建立 的執行個體 Microsoft.SMS.TSEnvironment。

  2. 取得或設定必要的環境變數。

範例

下列範例方法會取得 _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 中的 SMS 提供者任務順序概觀如何設定作業系統部署 任務序列變數