Compartilhar via


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 em execução Configuration Manager.

Uma variável de sequência de tarefas é um par de 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

Variáveis definidas com as variáveis de substituição de classe SMS_TaskSequence_SetVariableAction que são definidas em outro lugar. Por exemplo, se uma variável de coleção e um 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, confira Os fundamentos do Provedor de SMS.

  2. Obtenha uma sequência de tarefas para 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 de SMS_TaskSequence_SetVariableAction.

  4. Defina as propriedades VariableName e VariableValue para a 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 valor de variável de sequência de tarefas.

Para obter informações sobre como chamar o código de exemplo, consulte Chamando Configuration Manager Snippets 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 -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 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 tratamento de erros, consulte Sobre erros de Configuration Manager.

Segurança do .NET Framework

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

Confira também

Visão geral de objetosComo se conectar a um provedor de SMS no Configuration Manager usando código gerenciado
Como se conectar a um provedor de SMS no Configuration Manager usando o WMI
Visão geral da sequência de tarefas Como usar variáveis de sequência de tarefas em uma sequência de tarefas em execução Configuration Manager
Como ler uma sequência de tarefas de um pacote de sequência de tarefas