Dela via


Ange en aktivitetssekvensvariabel för operativsystemdistribution

I Configuration Manager skapar du en aktivitetssekvensvariabel för operativsystemdistribution genom att skapa en instans av SMS_TaskSequence_SetVariableAction-klassen och lägga till i en aktivitetssekvens. Du kan också skapa aktivitetssekvensvariabler när aktivitetssekvensen körs på klienten. Mer information finns i Använda aktivitetssekvensvariabler i en Configuration Manager aktivitetssekvens som körs.

En aktivitetssekvensvariabel är ett namn/värde-par som du kan komma åt med hjälp av aktivitetssekvenssteg. Du kan också skapa dator- och samlingsspecifika variabler. Mer information finns i Skapa en samlingsvariabel i Configuration Manager och Skapa en datorvariabel i Configuration Manager.

Obs!

Variabler som anges med SMS_TaskSequence_SetVariableAction-klassen åsidosätter variabler som anges någon annanstans. Om till exempel en samlingsvariabel och en SMS_TaskSequence_SetVariableAction har samma namn har värdet för variabeln SMS_TaskSequence_SetVariableAction företräde.

Så här anger du en aktivitetssekvensvariabel

  1. Konfigurera en anslutning till SMS-providern. Mer information finns i grunderna för SMS-provider.

  2. Hämta en aktivitetssekvens som aktivitetssekvensvariabeln ska läggas till i. Mer information finns i Så här skapar du en aktivitetssekvens för operativsystemdistribution.

  3. Skapa en instans av SMS_TaskSequence_SetVariableAction.

  4. Ange egenskaperna VariableName och VariableValue för variabeln som du lägger till.

  5. Lägg till SMS_TaskSequence_SetVariableAction-objektet i aktivitetssekvensen.

Exempel

Följande exempelmetod anger ett namn och värde för aktivitetssekvensvariabeln.

Information om hur du anropar exempelkoden finns i Anropa Configuration Manager kodfragment.

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

Den här exempelmetoden har följande parametrar:

Parameter Typ Beskrivning
connection -Hanterade: WqlConnectionManager
– VBScript: SWbemServices
– En giltig anslutning till SMS-providern.
taskSequence -Hanterade: WqlConnectionManager
-Vbscript: SWbemServices
– Aktivitetssekvensen som variabeln läggs till i.
variableName -Hanterade: String
-Vbscript: String
Namnet på variabeln.
variableValue -Hanterade: String
-Vbscript: String
Värdet för variabeln .

Kompilera koden

Det här C#-exemplet kräver:

Namnområden

System

System.Collections.Generic

System.Text

Microsoft. ConfigurationManagement.ManagementProvider

Microsoft. ConfigurationManagement.ManagementProvider.WqlQueryEngine

Församlingen

microsoft.configurationmanagement.managementprovider

adminui.wqlqueryengine

Robust programmering

Mer information om felhantering finns i Om Configuration Manager fel.

.NET Framework Säkerhet

Mer information om hur du skyddar Configuration Manager program finns i Configuration Manager rollbaserad administration.

Se även

ObjektöversiktSå här ansluter du till en SMS-provider i Configuration Manager med hjälp av hanterad kod
Ansluta till en SMS-provider i Configuration Manager med hjälp av WMI
Översikt över aktivitetssekvenshur du använder aktivitetssekvensvariabler i en aktivitetssekvens som körs Configuration Manager
Läsa en aktivitetssekvens från ett aktivitetssekvenspaket