Share via


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

您可以在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角色型系統管理

另請參閱

物件概觀如何使用 Managed 程式碼在Configuration Manager中連線至 SMS 提供者
如何使用 WMI 在 Configuration Manager 中連線到 SMS 提供者
如何建立工作順序
工作順序概觀