共用方式為


如何將步驟新增至作業系統部署群組

您可以將步驟新增至陣列屬性,以 (動作或群組) Configuration Manager將步驟新增至 SMS_TaskSequenceGroup.Steps 作業系統部署工作順序群組。

將步驟新增至工作順序群組

  1. 設定與 SMS 提供者的連線。 如需詳細資訊,請 參閱 SMS 提供者基本概念

  2. 取得您要新增步驟的 SMS_TaskSequenceGroup 物件。 如需詳細資訊,請參閱 如何建立作業系統部署工作順序群組

  3. 建立工作順序步驟。 如需建立動作步驟的範例,請參閱 如何新增作業系統部署工作順序動作

  4. 將步驟新增至數 SMS_TaskSequenceGroup.Steps 組屬性。

  5. 視需要重新排序陣列屬性內的步驟。 如需詳細資訊,請參閱 如何重新排序作業系統部署工作順序

範例

下列範例方法會將命令列動作新增至工作順序群組。

如需呼叫範例程式碼的相關資訊,請參閱呼叫Configuration Manager程式碼片段

Sub AddStepToGroup(taskSequenceStep, group)     

    Dim steps   

    ' If needed, create a new steps array.  
    If IsNull(group.Steps) Then  
        steps = Array(taskSequenceStep)  
        group.Steps=steps  
    Else  
        ' Resize the existing steps and add step.  
        steps= Array(group.Steps)  
        ReDim steps (UBound (group.Steps)+1)   
        group.Steps(UBound(steps))=taskSequenceStep   
    End if   

End Sub  
public void AddStepToGroup(  
    WqlConnectionManager connection,   
    IResultObject taskSequence,   
    string groupName)  
{  
    try  
    {  
        // Get the group.  
        List<IResultObject> steps = taskSequence.GetArrayItems("Steps"); // Array of SMS_TaskSequence_Steps.  

        foreach (IResultObject ro in steps)  
        {  
            if (ro["Name"].StringValue == groupName && ro["__CLASS"].StringValue == "SMS_TaskSequence_Group")  
            {  
                IResultObject action = connection.CreateEmbeddedObjectInstance("SMS_TaskSequence_RunCommandLineAction");  
                action["CommandLine"].StringValue = @"C:\donowtingroup.bat";  
                action["Name"].StringValue = "Action in group " + groupName;  
                action["Description"].StringValue = "Action in a group";  
                action["Enabled"].BooleanValue = true;  
                action["ContinueOnError"].BooleanValue = false;  

                // Add the step to the task sequence.  
                List<IResultObject> array = ro.GetArrayItems("Steps");  

                array.Add(action);  

                ro.SetArrayItems("Steps", array);  
                taskSequence.SetArrayItems("Steps", steps);  
                break;  
            }  
        }  
    }  
    catch (SmsException e)  
    {  
        Console.WriteLine("Failed to create Task Sequence: " + e.Message);  
        throw;  
    }  
}  

範例方法具有下列參數:

參數 Type 描述
connection -管理: WqlConnectionManager
- VBScript: SWbemServices
SMS 提供者的有效連線。
taskSequence

taskSequenceStep
-管理: IResultObject
- VBScript: SWbemObject
- 包含群組的有效工作順序 (SMS_TaskSequence) 。
groupName

group
-管理: String
- VBScript: String
加入命令列動作的組名。 這是從 SMS_TaskSequenceGroup.Name 屬性取得。

正在編譯程式碼

此 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 提供者
如何將步驟移至不同的作業系統部署工作順序群組
如何建立作業系統部署工作順序群組
如何從作業系統部署群組移除步驟
工作順序概觀