Como adicionar uma implantação de sistema operacional Ação de Sequência de Tarefas

Uma ação de sequência de tarefas de implantação do sistema operacional é adicionada a uma sequência de tarefas, por Configuration Manager, criando uma instância de uma classe derivada de SMS_TaskSequence_Action e adicionando-a às etapas da sequência de tarefas.

Observação

O Configuration Manager tem várias ações internas que você pode usar. Por exemplo, a classe de ação de linha de comando é SMS_TaskSequence_RunCommandLineAction. Essas classes derivam da classe SMS_TaskSequence_Action .

SMS_TaskSequenceAction deriva da classe SMS_TaskSequence_Step , que é a classe base para ações e grupos. A sequência de tarefas armazena suas etapas em uma matriz de SMS_TaskSequence_Step, permitindo que ações e grupos sejam armazenados juntos.

Para adicionar uma ação de sequência de tarefas

  1. Configure uma conexão com o provedor de SMS. Para obter mais informações, consulte Noções básicas do provedor de SMS.

  2. Criar um objeto de sequência de tarefas (SMS_TaskSequence). Para obter mais informações, consulte Como criar uma sequência de tarefas de implantação do sistema operacional.

  3. Crie uma instância de classe derivada SMS_TaskSequenceAction , por exemplo, SMS_TaskSequence_RunCommandLineAction, para a ação desejada.

  4. Preencha a ação conforme apropriado.

  5. Adicione a ação às etapas das sequências de tarefas. Isso é armazenada a propriedade Steps da classe SMS_TaskSequence).

Exemplo

O método de exemplo a seguir cria uma ação de linha de comando e a adiciona à sequência de tarefas fornecida.

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

Sub AddTaskSequenceActionCommandLine(connection, taskSequence, name, description)

    Dim steps
    Dim action

    Set action = connection.Get("SMS_TaskSequence_RunCommandLineAction").SpawnInstance_

    action.CommandLine = "cmd /c Echo Hello"
    action.Name=name
    action.Description=description
    action.Enabled=True
    action.ContinueOnError=False

      If IsNull(taskSequence.Steps) Then
        steps = Array(action)
        taskSequence.Steps=steps
    Else
        steps= Array(taskSequence.Steps)
        ReDim steps (UBound (taskSequence.Steps)+1)
        taskSequence.Steps(UBound(steps))=action
    End if

End Sub

public IResultObject AddTaskSequenceActionCommandLine(
    WqlConnectionManager connection,
    IResultObject taskSequence,
    string name,
    string description)
{
    try
    {
        // Create the new step.
        IResultObject ro;

        ro = connection.CreateEmbeddedObjectInstance("SMS_TaskSequence_RunCommandLineAction");
        ro["CommandLine"].StringValue = @"cmd /c Echo Hello";

        ro["Name"].StringValue = name;
        ro["Description"].StringValue = description;
        ro["Enabled"].BooleanValue = true;
        ro["ContinueOnError"].BooleanValue = false;

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

        array.Add(ro);

        taskSequence.SetArrayItems("Steps", array);

        return ro;
    }
    catch (SmsException e)
    {
        Console.WriteLine("Failed to add action: " + 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 - Gerenciado: IResultObject
- VBScript: SWbemObject
Uma sequência de tarefas válida.
Name - Gerenciado: String
- VBScript: String
Um nome para a nova ação.
Description - Gerenciado: String
- VBScript: String
Uma descrição da ação.

Compilando o código

Este exemplo do C# exige:

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 do Configuration Manager.

Segurança do .NET Framework

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

Confira também

Visão geraldos objetos Como adicionar uma condição a uma implantação de sistema operacional Etapa de Sequência de TarefasComo se conectar a um provedor SMS no Configuration Manager usando código gerenciadoComo se conectar a um provedor SMS no Configuration Manager usando WMIComo criar um grupode sequência de tarefas de implantação de sistema operacionalComo excluir uma implantação de sistema operacional Ação de Sequência de TarefasVisão geral da sequência de tarefas