Delen via


Een takenreeksvariabele voor besturingssysteemimplementatie instellen

In Configuration Manager maakt u een takenreeksvariabele voor de implementatie van het besturingssysteem door een exemplaar van de klasse SMS_TaskSequence_SetVariableAction te maken en toe te voegen aan een takenreeks. U kunt ook takenreeksvariabelen maken terwijl de takenreeks wordt uitgevoerd op de client. Zie Takenreeksvariabelen gebruiken in een actieve Configuration Manager takenreeks voor meer informatie.

Een takenreeksvariabele is een naam/waardepaar waartoe u toegang hebt via takenreeksstappen. U kunt ook computer- en verzamelingspecifieke variabelen maken. Zie Een verzamelingsvariabele maken in Configuration Manager en Een computervariabele maken in Configuration Manager voor meer informatie.

Opmerking

Variabelen die zijn ingesteld met de SMS_TaskSequence_SetVariableAction klasse overschrijven variabelen die elders zijn ingesteld. Als een verzamelingsvariabele en een SMS_TaskSequence_SetVariableAction bijvoorbeeld dezelfde naam hebben, heeft de waarde van de variabele SMS_TaskSequence_SetVariableAction voorrang.

Een takenreeksvariabele instellen

  1. Een verbinding met de SMS-provider instellen. Zie Basisprincipes van SMS-provider voor meer informatie.

  2. Haal een takenreeks op waaraan u de takenreeksvariabele wilt toevoegen. Zie Een takenreeks voor besturingssysteemimplementatie maken voor meer informatie.

  3. Maak een exemplaar van SMS_TaskSequence_SetVariableAction.

  4. Stel de eigenschappen VariableName en VariableValue in voor de variabele die u toevoegt.

  5. Voeg het SMS_TaskSequence_SetVariableAction-object toe aan de takenreeks.

Voorbeeld

Met de volgende voorbeeldmethode worden de naam en waarde van een takenreeksvariabele ingesteld.

Zie Aanroepen Configuration Manager codefragmenten voor meer informatie over het aanroepen van de voorbeeldcode.

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;  
    }  
}  

Deze voorbeeldmethode heeft de volgende parameters:

Parameter Type Beschrijving
connection -Beheerd: WqlConnectionManager
- VBScript: SWbemServices
- Een geldige verbinding met de SMS-provider.
taskSequence -Beheerd: WqlConnectionManager
-Vbscript: SWbemServices
- De takenreeks waaraan de variabele wordt toegevoegd.
variableName -Beheerd: String
-Vbscript: String
De naam van de variabele.
variableValue -Beheerd: String
-Vbscript: String
De waarde voor de variabele.

De code compileren

Voor dit C#-voorbeeld is het volgende vereist:

Naamruimten

Systeem

System.Collections.Generic

System.Text

Microsoft. ConfigurationManagement.ManagementProvider

Microsoft. ConfigurationManagement.ManagementProvider.WqlQueryEngine

Vergadering

microsoft.configurationmanagement.managementprovider

adminui.wqlqueryengine

Robuust programmeren

Zie Over Configuration Manager fouten voor meer informatie over foutafhandeling.

.NET Framework Beveiliging

Zie Configuration Manager op rollen gebaseerd beheer voor meer informatie over het beveiligen van Configuration Manager toepassingen.

Zie ook

Overzicht van objectenVerbinding maken met een SMS-provider in Configuration Manager met behulp van beheerde code
Verbinding maken met een SMS-provider in Configuration Manager met behulp van WMI
TakenreeksoverzichtTakenreeksvariabelen gebruiken in een actieve Configuration Manager takenreeks
Een takenreeks lezen uit een takenreekspakket