Share via


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

  1. Configure una conexión con el proveedor de SMS. Para obtener más información, consulte Aspectos básicos del proveedor de SMS.

  2. 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).

  3. Cree una instancia de SMS_TaskSequence_SetVariableAction.

  4. Establezca las propiedades VariableName y VariableValue para la variable que va a agregar.

  5. 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