Como adicionar uma etapa a um grupo de implantação do sistema operacional

Você adiciona uma etapa (uma ação ou um grupo) a um grupo de sequência de tarefas de implantação do sistema operacional, em Configuration Manager, adicionando a etapa à propriedade arraySMS_TaskSequenceGroup.Steps.

Para adicionar uma etapa a um grupo de sequência de tarefas

  1. Configure uma conexão com o Provedor de SMS. Para obter mais informações, confira Os fundamentos do Provedor de SMS.

  2. Obtenha o objeto SMS_TaskSequenceGroup ao qual deseja adicionar a etapa. Para obter mais informações, consulte Como criar um grupo de sequência de tarefas de implantação do sistema operacional.

  3. Crie a etapa de sequência de tarefas. Para obter um exemplo de criação de uma etapa de ação, consulte Como adicionar uma ação de sequência de tarefas de implantação do sistema operacional.

  4. Adicione a etapa à propriedade array SMS_TaskSequenceGroup.Steps .

  5. Reordene a etapa dentro da propriedade matriz conforme necessário. Para obter mais informações, consulte Como solicitar novamente uma sequência de tarefas de implantação do sistema operacional

Exemplo

O método de exemplo a seguir adiciona uma ação de linha de comando a um grupo de sequência de tarefas.

Para obter informações sobre como chamar o código de exemplo, consulte Chamando Configuration Manager Snippets de Código.

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;  
    }  
}  

O método de exemplo tem os seguintes parâmetros:

Parâmetro Tipo Descrição
connection -Gerenciado: WqlConnectionManager
- VBScript: SWbemServices
Uma conexão válida com o provedor de SMS.
taskSequence

taskSequenceStep
-Gerenciado: IResultObject
- VBScript: SWbemObject
- Uma sequência de tarefas válida (SMS_TaskSequence) que contém o grupo.
groupName

group
-Gerenciado: String
-Vbscript: String
O nome do grupo ao qual a ação de linha de comando é adicionada. Isso é obtido da SMS_TaskSequenceGroup.Name propriedade.

Compilando o código

Este exemplo de C# requer:

Namespaces

System

System.Collections.Generic

System.Text

Microsoft. ConfigurationManagement.ManagementProvider

Microsoft. ConfigurationManagement.ManagementProvider.WqlQueryEngine

Assembly

microsoft.configurationmanagement.managementprovider

adminui.wqlqueryengine

Programação robusta

Para obter mais informações sobre o tratamento de erros, consulte Sobre erros de Configuration Manager.

Segurança do .NET Framework

Para obter mais informações sobre como proteger aplicativos Configuration Manager, consulte Configuration Manager administração baseada em função.

Confira também

Visão geral de objetosComo se conectar a um provedor de SMS no Configuration Manager usando código gerenciado
Como se conectar a um provedor de SMS no Configuration Manager usando o WMI
Como mover uma etapa para um grupo de sequência de tarefas de implantação de sistema operacional diferente
Como criar um grupo de sequência de tarefas de implantação do sistema operacional
Como remover uma etapa de um grupo de implantação do sistema operacional
Visão geral de sequências de tarefas