共用方式為


如何建立作系統部署工作順序套件

您可以在 Configuration Manager 中建立SMS_TaskSequencePackage類別的實例,以建立作系統部署工作順序。 這個類別衍生自 SMS_Package 類別,並保留工作順序。 系統會將它公告給接著可以執行工作順序的用戶端。 工作順序會使用 SMS_TaskSequencePackageSetSequence 方法類別與工作順序封裝相關聯。

您可以使用 SMS_TaskSequence 類別 Category 屬性,將類別指派給類別,以將工作順序套件組織成類別。

如需建立工作順序的詳細資訊,請參閱 如何建立工作順序。 如需工作順序套件的詳細資訊,請參閱 工作排序物件模型

您公告工作順序套件的方式與公告 Configuration Manager 套件 SMS_Package相同。 如需詳細資訊,請 參閱如何建立廣告

若要建立工作順序套件

  1. 設定與SMS提供者的連線。 如需詳細資訊,請參閱關於 Configuration Manager 中的SMS提供者

  2. 建立的實 SMS_TaskSequencePackage例。

  3. 填入工作順序封裝屬性。

  4. 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 角色型系統管理

另請參閱

物件概觀 如何使用受控程式代碼連線到 Configuration Manager 中的 SMS 提供者如何使用 WMI 如何建立工作順序工作順序概觀,在 Configuration Manager 中聯機到 SMS 提供者