您可以在 Configuration Manager 中建立作業系統部署工作順序,方法是建立 SMS_TaskSequencePackage 類別的執行個體。 此類別衍生自 SMS_Package 類別,並保留工作順序。 它會公告給客戶,然後可以執行工作順序。 工作順序會使用 SMS_TaskSequencePackage 類別 SetSequence 方法與工作順序套件相關聯。
您可以使用 SMS_TaskSequence 類別 Category 屬性指派類別,藉此將工作順序套件組織成類別。
如需建立工作順序的詳細資訊,請參閱 如何建立工作順序。 如需工作順序套件的詳細資訊,請參閱 任務排序物件模型。
公告工作順序套件的方式與公告 Configuration Manager 套件SMS_Package的方式相同。 如需詳細資訊,請參閱 如何建立廣告。
建立工作順序套件
設定與 SMS 提供者的連線。 如需詳細資訊,請參閱 關於 Configuration Manager 中的 SMS 提供者。
建立 的執行個體
SMS_TaskSequencePackage。填入工作順序套件屬性。
呼叫類別
SetSequence方法,SMS_TaskSequencePackage將工作順序 (SMS_TaskSequence) 與工作順序套件產生關聯。
範例
下列範例方法會在) (SMS_TaskSequencePackage 建立工作順序套件,並將工作順序 (SMS_TaskSequence) 與它建立關聯。
如需呼叫範例程式碼的詳細資訊,請參閱 呼叫 Configuration Manager 程式碼片段。
Sub CreateTaskSequencePackage (connection, taskSequence)
Dim taskSequencePackage
Dim packageClass
Dim objInParams
Dim objOutParams
' Create the new package object.
Set taskSequencePackage = connection.Get("SMS_TaskSequencePackage").SpawnInstance_
' Populate the new package properties.
taskSequencePackage.Name = "New task sequence package"
taskSequencePackage.Description = "A new task sequence package description"
' Get the parameters object.
Set packageClass = connection.Get("SMS_TaskSequencePackage")
Set objInParams = packageClass.Methods_("SetSequence"). _
inParameters.SpawnInstance_()
' Add the input parameters.
objInParams.TaskSequence = taskSequence
objInParams.TaskSequencePackage = taskSequencePackage
' Add the sequence.
Set objOutParams = connection.ExecMethod("SMS_TaskSequencePackage", "SetSequence", objInParams)
End Sub
public IResultObject CreateTaskSequencePackage(
WqlConnectionManager connection,
IResultObject taskSequence)
{
try
{
Dictionary<string, object> inParams = new Dictionary<string, object>();
// Create the new task sequence package.
IResultObject taskSequencePackage = connection.CreateInstance("SMS_TaskSequencePackage");
taskSequencePackage["Name"].StringValue = "New task sequence package";
taskSequencePackage["Description"].StringValue = "A brand new task sequence package";
taskSequencePackage["Category"].StringValue = "A custom category";
// Note. Add other package properties as required.
// Set up parameters that associate the task sequence with the package.
inParams.Add("TaskSequence", taskSequence);
inParams.Add("TaskSequencePackage", taskSequencePackage);
// Associate the task sequence with the package. Note that a call to Put is not required.
IResultObject result = connection.ExecuteMethod("SMS_TaskSequencePackage", "SetSequence", inParams);
// The path to the new package.
Console.WriteLine(result["SavedTaskSequencePackagePath"].StringValue);
return taskSequencePackage;
}
catch (SmsException e)
{
Console.WriteLine("Failed to create Task Sequence: " + e.Message);
throw;
}
}
此範例方法具有下列參數:
| 參數 | Type | 描述 |
|---|---|---|
connection |
- 受控: WqlConnectionManager- VBScript: SWbemServices |
與 SMS 提供者的有效連線。 |
taskSequence |
- 受控: IResultObject- VBScript: SWbemObject |
有效的工作順序 SMS_TaskSequence |
正在編譯程式碼
C# 範例需要:
命名空間
系統
System.Collections.Generic
System.Text
Microsoft.ConfigurationManagement.ManagementProvider
Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine
組件
Microsoft.ConfigurationManagement.ManagementProvider
adminui.wqlqueryengine
健全的程式設計
如需錯誤處理的詳細資訊,請參閱 關於 Configuration Manager 錯誤。
.NET Framework 安全性
如需保護 Configuration Manager 應用程式的詳細資訊,請參閱 Configuration Manager 角色型系統管理。
另請參閱
物件概觀如何使用託管程式碼連線到 Configuration Manager 中的 SMS 提供者如何使用 WMI 連線到 Configuration Manager 中的 SMS 提供者如何建立工作順序工作順序概觀