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à
Configurare una connessione al provider SMS. Per altre informazioni, vedere Nozioni fondamentali sul provider SMS.
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.
Creare un'istanza di SMS_TaskSequence_SetVariableAction.
Impostare le proprietà VariableName e VariableValue per la variabile che si sta aggiungendo.
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à