Como definir uma variável de sequência de tarefas de implantação do sistema operacional

Em Configuration Manager, você cria uma variável de sequência de tarefas de implantação do sistema operacional criando uma instância da classe SMS_TaskSequence_SetVariableAction, adicionando a uma sequência de tarefas. Você 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, consulte Como usar variáveis de sequência de tarefas em uma sequência de tarefas do Configuration Manager em execução.

Uma variável de sequência de tarefas é um par nome/valor que você pode acessar por etapas de sequência de tarefas. Você também pode criar variáveis específicas do computador e da coleção. Para obter mais informações, consulte 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 definidas em outro lugar. 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 terá precedência.

Para definir uma variável de sequência de tarefas

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

  2. Obtenha uma sequência de tarefas à qual adicionar a variável de sequência de tarefas. Para obter mais informações, consulte Como criar uma sequência de tarefas de implantação do sistema operacional.

  3. Crie uma instância do SMS_TaskSequence_SetVariableAction.

  4. Defina as propriedades VariableName e VariableValue da variável que você está adicionando.

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

Exemplo

O método de exemplo a seguir define um nome e um valor da variável de sequência de tarefas.

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

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 - Gerenciado: WqlConnectionManager
- VBScript: SWbemServices
- Uma conexão válida com o provedor de SMS.
taskSequence - Gerenciado: WqlConnectionManager
- VBScript: SWbemServices
- A sequência de tarefas à qual a variável é adicionada.
variableName - Gerenciado: String
- VBScript: String
O nome da variável.
variableValue - Gerenciado: String
- VBScript: String
O valor da variável.

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 geral de objetosComo se conectar a um provedor de SMS no Configuration Manager usando código gerenciadoComo se conectar a um provedor de SMS no Configuration Manager usando o WMIVisão geral da sequência de tarefasComo usar variáveis de sequência de tarefas em uma tarefa do Configuration Manager em execução SequênciaComo ler uma sequência de tarefas de um pacote de sequência de tarefas