如何建立作業系統部署工作順序
您可以建立 SMS_TaskSequence 類別的實例,以建立Configuration Manager作業系統部署工作順序。
工作順序包含在用戶端電腦上循序執行的一或多個步驟。 如需詳細資訊,請參閱 作業系統部署工作順序物件模型。
工作順序接著會封裝在 SMS_TaskSequencePackage 中,並公告給用戶端電腦。
建立工作順序
設定與 SMS 提供者的連線。 如需詳細資訊,請 參閱 SMS 提供者基本概念。
建立工作順序
SMS_TaskSequence
物件。新增動作,並視需要將群組新增至動作。 如需詳細資訊,請參閱 如何新增作業系統部署工作順序動作。
將工作順序與工作順序套件產生關聯。 如需詳細資訊,請參閱 如何建立作業系統部署工作順序套件。
將工作順序公告給用戶端電腦。 如需詳細資訊,請 參閱如何建立廣告。
範例
下列範例方法會建立安裝軟體程式的工作順序。 此範例也會藉由呼叫 如何建立作業系統部署工作順序套件中定義的範例,來建立工作順序套件。
如需呼叫範例程式碼的相關資訊,請參閱呼叫Configuration Manager程式碼片段。
Sub CreateInstallSoftwareTaskSequence(connection,name, description, packageID, programName)
' Create the task sequence.
set taskSequence = connection.Get("SMS_TaskSequence").SpawnInstance_
' Create the action.
set action = connection.Get("SMS_TaskSequence_InstallSoftwareAction").SpawnInstance_
action.ProgramName=programName
action.PackageID=packageID
action.Name=name
action.Enabled=true
action.ContinueOnError=false
' Create an array to hold the action.
actionSteps= array(action)
' Add the array to the task sequence.
taskSequence.Steps=actionSteps
wscript.echo taskSequence.Steps(0).Name
call CreateTaskSequencePackage (connection, taskSequence)
End Sub
public void CreateInstallSoftwareTaskSequence(
WqlConnectionManager connection,
string name,
string packageId,
string programName)
{
try
{
// Create the task sequence.
IResultObject taskSequence = connection.CreateInstance("SMS_TaskSequence");
IResultObject ro = connection.CreateEmbeddedObjectInstance("SMS_TaskSequence_InstallSoftwareAction");
ro["ProgramName"].StringValue = programName;
ro["packageId"].StringValue = packageId;
ro["Name"].StringValue = name;
ro["Enabled"].BooleanValue = true;
ro["ContinueOnError"].BooleanValue = false;
// Add the step to the task sequence.
List<IResultObject> array = taskSequence.GetArrayItems("Steps");
array.Add(ro);
taskSequence.SetArrayItems("Steps", array);
// Create the task sequence package.
this.CreateTaskSequencePackage(connection, taskSequence);
}
catch (SmsException e)
{
Console.WriteLine("Failed to create Task Sequence: " + e.Message);
throw;
}
}
範例方法具有下列參數:
參數 | Type | 描述 |
---|---|---|
Connection |
-管理: WqlConnectionManager - VBScript: SWbemServices |
SMS 提供者的有效連線。 |
name |
-管理: String - VBScript: String |
工作順序步驟名稱。 |
description |
- VBScript: String |
工作順序步驟描述。 |
packageID |
-管理: String - VBScript: String |
包含要安裝之軟體的套件識別碼。 從 SMS_Package.PackageID 取得。 |
programName |
-管理: String - VBScript: String |
要安裝的程式名稱。 從 SMS_Program.ProgramName 取得。 |
正在編譯程式碼
此 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 提供者
工作順序概觀如何建立作業系統部署工作順序套件