Compartilhar via


Como Definir uma Variável de Sequência de Tarefas de Implementação do Sistema Operativo

No Configuration Manager, cria uma variável de sequência de tarefas de implementação do sistema operativo ao criar uma instância da classe SMS_TaskSequence_SetVariableAction, adicionando a uma sequência de tarefas. Também pode criar variáveis de sequência de tarefas enquanto a sequência de tarefas está em execução no cliente. Para obter mais informações, veja How to Use Task Sequence Variables in a Running Configuration Manager Task Sequence (Como Utilizar Variáveis de Sequência de Tarefas numa Sequência de Tarefas em Execução Configuration Manager).

Uma variável de sequência de tarefas é um par de nome/valor ao qual pode aceder através de passos de sequência de tarefas. Também pode criar variáveis específicas do computador e da coleção. Para obter mais informações, veja Como Criar uma Variável de Coleção no Configuration Manager e Como Criar uma Variável de Computador no Configuration Manager.

Observação

As variáveis definidas com a classe SMS_TaskSequence_SetVariableAction substituem as variáveis que estão definidas noutro local. Por exemplo, se uma variável de coleção e uma SMS_TaskSequence_SetVariableAction tiverem o mesmo nome, o valor da variável SMS_TaskSequence_SetVariableAction tem precedência.

Para definir uma variável 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 uma sequência de tarefas à quais adicionar a variável de sequência de tarefas. Para obter mais informações, veja Como Criar uma Sequência de Tarefas de Implementação do Sistema Operativo.

  3. Crie uma instância de SMS_TaskSequence_SetVariableAction.

  4. Defina as propriedades VariableName e VariableValue para a variável que está a adicionar.

  5. Adicione o objeto SMS_TaskSequence_SetVariableAction à sequência de tarefas.

Exemplo

O método de exemplo seguinte define o nome e o valor de uma variável 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 AddTaskSequenceVariable(connection, taskSequence, variableName, variableValue)

    Dim variable
    Dim steps

    Set variable = connection.Get("SMS_TaskSequence_SetVariableAction").SpawnInstance_

    variable.Name="MyTaskSequenceVariable"
    variable.Description = "A task sequence variable"
    variable.Enabled=True
    variable.ContinueOnError=False
    variable.VariableName=variableName
    variable.VariableValue=variableValue

    steps= Array(taskSequence.Steps)

    ReDim steps (UBound (taskSequence.Steps)+1)

    taskSequence.Steps(UBound(steps))=variable

End Sub
public void AddTaskSequenceVariable(
    WqlConnectionManager connection,
    IResultObject taskSequence,
    string variableName,
    string variableValue)
{
    try
    {
        // Create the task sequence variable object.
        IResultObject variable = connection.CreateEmbeddedObjectInstance("SMS_TaskSequence_SetVariableAction");

        // Populate the properties.
        variable["Name"].StringValue = "MyTaskSequenceVariable";
        variable["ContinueOnError"].BooleanValue = false;
        variable["Description"].StringValue = "A task sequence variable set with SMS_TaskSequence_SetVariableAction";
        variable["Enabled"].BooleanValue = true;
        variable["VariableName"].StringValue = variableName;
        variable["VariableValue"].StringValue = variableValue;

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

        array.Add(variable);
        taskSequence.SetArrayItems("Steps", array);
    }
    catch (SmsException e)
    {
        Console.WriteLine("Failed to set task sequence variable: " + e.Message);
        throw;
    }
}

Este 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: WqlConnectionManager
- VBScript: SWbemServices
- A sequência de tarefas à quais a variável é adicionada.
variableName - Gerido: String
- VBScript: String
O nome da variável.
variableValue - Gerido: String
- VBScript: String
O valor da variável .

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 utilizando a sequência de tarefas WMI descrição geralComo Utilizar Variáveis de Sequência de Tarefas numa Tarefa de Configuration Manager Em Execução SequenciarComo Ler uma Sequência de Tarefas a partir de um Pacote de Sequência de Tarefas