Condividi tramite


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, aggiungendo 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 How to Use Task Sequence Variables in a Running Configuration Manager Task Sequence ( Come usare le variabili della sequenza di attività in una sequenza di attività in esecuzione Configuration Manager).

Una variabile della sequenza di attività è una coppia nome/valore a cui è possibile accedere in base ai passaggi della sequenza di attività. È anche possibile creare variabili specifiche del computer e della raccolta. Per altre informazioni, vedere How to Create a Collection Variable in Configuration Manager e How to Create a Computer Variable in Configuration Manager.

Nota

Le variabili impostate con le variabili di override della classe SMS_TaskSequence_SetVariableAction impostate altrove. Ad esempio, se una variabile di raccolta e un SMS_TaskSequence_SetVariableAction hanno lo stesso nome, il valore della variabile SMS_TaskSequence_SetVariableAction ha 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 della sequenza di attività.

Per informazioni sulla chiamata del codice di esempio, vedere Chiamata di frammenti di codice 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
- Connessione valida al provider SMS.
taskSequence -Gestito: WqlConnectionManager
-Vbscript: SWbemServices
- 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 C# richiede:

Namespaces

Sistema

System.collections.generic

System.Text

Microsoft. ConfigurationManagement.ManagementProvider

Microsoft. ConfigurationManagement.ManagementProvider.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 Configuration Manager, vedere Configuration Manager'amministrazione basata sui ruoli.

Vedere anche

Panoramica degli oggettiCome connettersi a un provider SMS in Configuration Manager tramite codice gestito
Come connettersi a un provider SMS in Configuration Manager tramite WMI
Panoramica della sequenza di attivitàCome usare le variabili della sequenza di attività in una sequenza di attività in esecuzione Configuration Manager
Come leggere una sequenza di attività da un pacchetto della sequenza di attività