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
Een verbinding met de SMS-provider instellen. Zie Basisprincipes van SMS-provider voor meer informatie.
Haal een takenreeks op waaraan u de takenreeksvariabele wilt toevoegen. Zie Een takenreeks voor besturingssysteemimplementatie maken voor meer informatie.
Maak een exemplaar van SMS_TaskSequence_SetVariableAction.
Stel de eigenschappen VariableName en VariableValue in voor de variabele die u toevoegt.
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