Compartilhar via


Como Adicionar uma Ação de Sequência de Tarefas de Implementação do Sistema Operativo

Uma ação de sequência de tarefas de implementação do sistema operativo é adicionada a uma sequência de tarefas, no Configuration Manager, ao criar uma instância de uma classe derivada SMS_TaskSequence_Action e, em seguida, adicioná-la aos passos da sequência de tarefas.

Observação

Configuration Manager tem várias ações incorporadas que pode utilizar. Por exemplo, a classe de ação da linha de comandos é SMS_TaskSequence_RunCommandLineAction. Estas 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 os seus passos numa matriz de SMS_TaskSequence_Step, permitindo assim que as ações e grupos sejam armazenados em conjunto.

Para adicionar uma ação 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. Crie um objeto de sequência de tarefas (SMS_TaskSequence). Para obter mais informações, veja Como Criar uma Sequência de Tarefas de Implementação do Sistema Operativo.

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

  4. Preencha a ação conforme adequado.

  5. Adicione a ação aos passos de sequências de tarefas. É armazenada a propriedade Passos da classe SMS_TaskSequence).

Exemplo

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

Para obter informações sobre como chamar o código de exemplo, veja Chamar Configuration Manager Fragmentos de Código.

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 - Gerido: WqlConnectionManager
- VBScript: SWbemServices
Uma ligação válida ao Fornecedor de SMS.
taskSequence - Gerido: IResultObject
- VBScript: SWbemObject
Uma sequência de tarefas válida.
Name - Gerido: String
- VBScript: String
Um nome para a nova ação.
Description - Gerido: String
- VBScript: String
Uma descrição para a ação.

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 Adicionar uma Condição a um Passo de Sequência de Tarefas de Implementação do Sistema OperativoComo 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 Criar um Grupode Sequência de Tarefas de Implementação do Sistema OperativoHow to Delete an Operating System Deployment Task Sequence Task sequenceoverview (Descrição geral da sequência de tarefas de sequência de tarefas de sequência de tarefas de implementação do sistema operativo)