Come impostare una variabile della sequenza di attività di distribuzione del sistema operativo

In Configuration Manager si crea una variabile della sequenza di attività di distribuzione del sistema operativo creando un'istanza della classe SMS_TaskSequence_SetVariableAction, aggiungendola a una sequenza di attività. È anche possibile creare variabili della sequenza di attività mentre la sequenza di attività è in esecuzione nel client. Per altre informazioni, vedere Come usare le variabili della sequenza di attività in una sequenza di attività di Configuration Manager in esecuzione.

Una variabile della sequenza di attività è una coppia nome/valore a cui è possibile accedere tramite i passaggi della sequenza di attività. È inoltre possibile creare variabili specifiche del computer e della raccolta. Per altre informazioni, vedere Come creare una variabile di insieme in Configuration Manager e come creare una variabile computer in Configuration Manager.

Nota

Le variabili impostate con la classe SMS_TaskSequence_SetVariableAction sostituiscono le variabili impostate altrove. Ad esempio, se una variabile di insieme e un SMS_TaskSequence_SetVariableAction hanno lo stesso nome, il valore della variabile di SMS_TaskSequence_SetVariableAction avrà la precedenza.

Per impostare una variabile della sequenza di attività

  1. Configurare una connessione al provider SMS. Per altre informazioni, vedere Nozioni fondamentali sul provider SMS.

  2. Ottenere una sequenza di attività a cui aggiungere la variabile della sequenza di attività. Per altre informazioni, vedere Come creare una sequenza di attività di distribuzione del sistema operativo.

  3. Creare un'istanza di SMS_TaskSequence_SetVariableAction.

  4. Impostare le proprietà VariableName e VariableValue per la variabile che si sta aggiungendo.

  5. Aggiungere l'oggetto SMS_TaskSequence_SetVariableAction alla sequenza di attività.

Esempio

Il metodo di esempio seguente imposta il nome e il valore di una variabile di sequenza di attività.

Per informazioni sulla chiamata del codice di esempio, vedere Chiamata di frammenti di codice di 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;
    }
}

Questo metodo di esempio include i parametri seguenti:

Parametro Tipo Descrizione
connection - Gestito: WqlConnectionManager
- VBScript: SWbemServices
- Una connessione valida al provider SMS.
taskSequence - Gestito: WqlConnectionManager
- VBScript: SWbemServices
- La sequenza di attività a cui viene aggiunta la variabile.
variableName - Gestito: String
- VBScript: String
Nome della variabile.
variableValue - Gestito: String
- VBScript: String
Valore della variabile.

Compilazione del codice

Questo esempio di C# richiede:

Spazi dei nomi

Sistema

System.Collections.Generic

System.Text

Microsoft.ConfigurationManagementManagementProvider

Microsoft.ConfigurationManagementManagementProvider.WqlQueryEngine

Assembly

Microsoft.ConfigurationManagement.ManagementProvider

adminui.wqlqueryengine

Programmazione efficiente

Per altre informazioni sulla gestione degli errori, vedere Informazioni sugli errori di Configuration Manager.

Sicurezza di .NET Framework

Per altre informazioni sulla protezione delle applicazioni di Configuration Manager, vedere Amministrazione basata sui ruoli di Configuration Manager.

Vedere anche

Panoramica degli oggettiCome connettersi a un provider SMS in Configuration Manager tramite codice gestitoCome connettersi a un provider SMS in Configuration Manager tramite WMIPanoramica della sequenza di attivitàCome usare le variabili della sequenza di attività in un'attività di Configuration Manager in esecuzione Sequenza: come leggere una sequenza di attività da un pacchetto di sequenze di attività