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
Configure uma conexão com o Provedor de SMS. Para obter mais informações, confira Os fundamentos do Provedor de SMS.
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.
Crie uma instância de SMS_TaskSequence_SetVariableAction.
Defina as propriedades VariableName e VariableValue para a variável que você está adicionando.
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