Compartilhar via


Como Adicionar um Passo a um Grupo de Implementação do Sistema Operativo

Adicione um passo (uma ação ou um grupo) a um grupo de sequência de tarefas de implementação do sistema operativo, no Configuration Manager, ao adicionar o passo à propriedade matrizSMS_TaskSequenceGroup.Steps.

Para adicionar um passo a um grupo de sequência de tarefas

  1. Configure uma ligação ao Fornecedor de SMS. Para obter mais informações, veja Noções básicas do Fornecedor de SMS.

  2. Obtenha o objeto SMS_TaskSequenceGroup ao qual pretende adicionar o passo. Para obter mais informações, veja Como Criar um Grupo de Sequência de Tarefas de Implementação do Sistema Operativo.

  3. Crie o passo de sequência de tarefas. Para obter um exemplo de como criar um passo de ação, veja Como Adicionar uma Ação de Sequência de Tarefas de Implementação do Sistema Operativo.

  4. Adicione o passo à propriedade matriz SMS_TaskSequenceGroup.Steps .

  5. Reordene o passo na propriedade de matriz conforme necessário. Para obter mais informações, veja How to Re-order an Operating System Deployment Task Sequence (Como Reordenar uma Sequência de Tarefas de Implementação do Sistema Operativo)

Exemplo

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

Para obter informações sobre como chamar o código de exemplo, veja Chamar Configuration Manager Fragmentos 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 - Gerido: WqlConnectionManager
- VBScript: SWbemServices
Uma ligação válida ao Fornecedor de SMS.
taskSequence

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

group
- Gerido: String
- VBScript: String
O nome do grupo ao qual a ação da linha de comandos é adicionada. Isto é obtido a SMS_TaskSequenceGroup.Name partir da 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 processamento de erros, veja About Configuration Manager Errors (Acerca dos Erros de Configuration Manager).

Segurança do .NET Framework

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

Confira também

Descrição geral de ObjetosComo Ligar a um Fornecedor de SMS no Configuration Manager ao Utilizar Código GeridoComo Ligar a um Fornecedor de SMS no Configuration Manager Ao Utilizar a WMIComo Mover um Passo para um Grupo de Sequência de Tarefas de Implementação de Sistema Operativo DiferenteComo Criar um Grupode Sequência de Tarefas de Implementação do Sistema OperativoHow to Remove a Step From an Operating System Deployment Group Task sequence overview (Como Remover um Passo de umaDescrição geral da sequência de tarefas do Grupo de Implementação do Sistema Operativo)