如何建立作業系統部署工作順序套件
您可以在Configuration Manager中建立SMS_TaskSequencePackage類別的實例,以建立作業系統部署工作順序。 這個類別衍生自 SMS_Package 類別,並保留工作順序。 系統會將它公告給接著可以執行工作順序的用戶端。 工作順序會使用 SMS_TaskSequencePackage
SetSequence 方法類別與工作順序封裝相關聯。
您可以使用 SMS_TaskSequence 類別Category 屬性,將類別指派給類別,以將工作順序套件組織成類別。
如需建立工作順序的詳細資訊,請參閱 如何建立工作順序。 如需工作順序套件的詳細資訊,請參閱 工作排序物件模型。
您公告工作順序套件的方式與公告Configuration Manager套件 SMS_Package
相同。 如需詳細資訊,請 參閱如何建立廣告。
若要建立工作順序套件
設定與 SMS 提供者的連線。 如需詳細資訊,請參閱關於 Configuration Manager 中的 SMS 提供者。
建立 的實
SMS_TaskSequencePackage
例。填入工作順序封裝屬性。
SMS_TaskSequencePackage
呼叫 類別SetSequence
方法,將工作順序 ()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角色型系統管理。
另請參閱
物件概觀如何使用 Managed 程式碼在Configuration Manager中連線至 SMS 提供者
如何使用 WMI 在 Configuration Manager 中連線到 SMS 提供者
如何建立工作順序
工作順序概觀