Cómo establecer una variable de secuencia de tareas de implementación del sistema operativo
En Configuration Manager, cree una variable de secuencia de tareas de implementación del sistema operativo mediante la creación de una instancia de la clase SMS_TaskSequence_SetVariableAction, agregando a una secuencia de tareas. También puede crear variables de secuencia de tareas mientras la secuencia de tareas se ejecuta en el cliente. Para obtener más información, vea How to Use Task Sequence Variables in a Running Configuration Manager Task Sequence.
Una variable de secuencia de tareas es un par nombre-valor al que puede acceder por pasos de secuencia de tareas. También puede crear variables específicas del equipo y de la colección. Para obtener más información, vea How to Create a Collection Variable in Configuration Manager (Cómo crear una variable de colección en Configuration Manager) y How to Create a Computer Variable in Configuration Manager (Cómo crear una variable de equipo en Configuration Manager).
Nota:
Las variables que se establecen con la clase SMS_TaskSequence_SetVariableAction invalidan las variables que se establecen en otro lugar. Por ejemplo, si una variable de colección y un SMS_TaskSequence_SetVariableAction tienen el mismo nombre, el valor de la variable SMS_TaskSequence_SetVariableAction tiene prioridad.
Para establecer una variable de secuencia de tareas
Configure una conexión con el proveedor de SMS. Para obtener más información, consulte Aspectos básicos del proveedor de SMS.
Obtenga una secuencia de tareas a la que agregar la variable de secuencia de tareas. Para obtener más información, vea How to Create an Operating System Deployment Task Sequence( Cómo crear una secuencia de tareas de implementación del sistema operativo).
Cree una instancia de SMS_TaskSequence_SetVariableAction.
Establezca las propiedades VariableName y VariableValue para la variable que va a agregar.
Agregue el objeto SMS_TaskSequence_SetVariableAction a la secuencia de tareas.
Ejemplo
El método de ejemplo siguiente establece un nombre y un valor de variable de secuencia de tareas.
Para obtener información sobre cómo llamar al código de ejemplo, vea Llamar a fragmentos de código de 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 ejemplo tiene los parámetros siguientes:
Parámetro | Tipo | Descripción |
---|---|---|
connection |
-Administrado: WqlConnectionManager - VBScript: SWbemServices |
- Una conexión válida al proveedor de SMS. |
taskSequence |
-Administrado: WqlConnectionManager -Vbscript: SWbemServices |
- Secuencia de tareas a la que se agrega la variable. |
variableName |
-Administrado: String -Vbscript: String |
El nombre de la variable. |
variableValue |
-Administrado: String -Vbscript: String |
Valor de la variable. |
Compilar el código
Este ejemplo de C# requiere:
Espacios de nombres
System
System.Collections.Generic
System.Text
Microsoft. ConfigurationManagement.ManagementProvider
Microsoft. ConfigurationManagement.ManagementProvider.WqlQueryEngine
Ensamblado
microsoft.configurationmanagement.managementprovider
adminui.wqlqueryengine
Programación sólida
Para obtener más información sobre el control de errores, consulte Acerca de los errores de Configuration Manager.
Seguridad de .NET Framework
Para obtener más información sobre la protección de aplicaciones Configuration Manager, consulte Configuration Manager administración basada en roles.
Consulta también
Información general sobrelos objetos Cómo conectarse a un proveedor de SMS en Configuration Manager mediante código administrado
Conexión a un proveedor de SMS en Configuration Manager mediante WMI
Introducción a la secuencia de tareas Cómo usar variables de secuencia de tareas en una secuencia de tareas en ejecución Configuration Manager
Cómo leer una secuencia de tareas desde un paquete de secuencia de tareas