Jak ustawić zmienną sekwencji zadań wdrażania systemu operacyjnego
W Configuration Manager tworzysz zmienną sekwencji zadań wdrażania systemu operacyjnego, tworząc wystąpienie klasy SMS_TaskSequence_SetVariableAction, dodając do sekwencji zadań. Zmienne sekwencji zadań można również tworzyć, gdy sekwencja zadań jest uruchomiona na kliencie. Aby uzyskać więcej informacji, zobacz How to Use Task Sequence Variables in a Running Configuration Manager Task Sequence (Jak używać zmiennych sekwencji zadań w uruchomionej sekwencji zadań Configuration Manager).
Zmienna sekwencji zadań to para nazw/wartości, do których można uzyskać dostęp za pomocą kroków sekwencji zadań. Można również tworzyć zmienne specyficzne dla komputera i kolekcji. Aby uzyskać więcej informacji, zobacz How to Create a Collection Variable in Configuration Manager and How to Create a Computer Variable in Configuration Manager (Jak utworzyć zmienną kolekcji w Configuration Manager) i How to Create a Computer Variable in Configuration Manager (Jak utworzyć zmienną komputerową w Configuration Manager).
Uwaga
Zmienne ustawione za pomocą SMS_TaskSequence_SetVariableAction klasy zastępują zmienne, które są ustawiane w innym miejscu. Jeśli na przykład zmienna kolekcji i SMS_TaskSequence_SetVariableAction mają taką samą nazwę, pierwszeństwo ma wartość zmiennej SMS_TaskSequence_SetVariableAction.
Aby ustawić zmienną sekwencji zadań
Skonfiguruj połączenie z dostawcą programu SMS. Aby uzyskać więcej informacji, zobacz Podstawy dostawcy programu SMS.
Pobierz sekwencję zadań w celu dodania zmiennej sekwencji zadań. Aby uzyskać więcej informacji, zobacz How to Create an Operating System Deployment Task Sequence (Jak utworzyć sekwencję zadań wdrażania systemu operacyjnego).
Utwórz wystąpienie SMS_TaskSequence_SetVariableAction.
Ustaw właściwości VariableName i VariableValue dla dodawanej zmiennej.
Dodaj obiekt SMS_TaskSequence_SetVariableAction do sekwencji zadań.
Przykład
Poniższa przykładowa metoda ustawia nazwę i wartość zmiennej sekwencji zadań.
Aby uzyskać informacje na temat wywoływania przykładowego kodu, zobacz Wywoływanie fragmentów kodu 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;
}
}
Ta przykładowa metoda ma następujące parametry:
Parametr | Wpisać | Opis |
---|---|---|
connection |
-Zarządzane: WqlConnectionManager - VBScript: SWbemServices |
- Prawidłowe połączenie z dostawcą programu SMS. |
taskSequence |
-Zarządzane: WqlConnectionManager -Vbscript: SWbemServices |
— Sekwencja zadań, do która jest dodawana zmienna. |
variableName |
-Zarządzane: String -Vbscript: String |
Nazwa zmiennej. |
variableValue |
-Zarządzane: String -Vbscript: String |
Wartość zmiennej. |
Kompilowanie kodu
Ten przykład języka C# wymaga:
Obszary nazw
System
System.collections.generic
System.text
Microsoft. ConfigurationManagement.ManagementProvider
Microsoft. ConfigurationManagement.ManagementProvider.WqlQueryEngine
Zestawu
microsoft.configurationmanagement.managementprovider
adminui.wqlqueryengine
Niezawodne programowanie
Aby uzyskać więcej informacji na temat obsługi błędów, zobacz Informacje o błędach Configuration Manager.
zabezpieczenia .NET Framework
Aby uzyskać więcej informacji na temat zabezpieczania aplikacji Configuration Manager, zobacz Configuration Manager administracja oparta na rolach.
Zobacz też
Omówienie obiektówJak nawiązać połączenie z dostawcą programu SMS w Configuration Manager przy użyciu kodu zarządzanego
Jak nawiązać połączenie z dostawcą programu SMS w Configuration Manager przy użyciu usługi WMI
Omówienie sekwencji zadańHow to Use Task Sequence Variables in a Running Configuration Manager Task Sequence (Jak używać zmiennych sekwencji zadań w sekwencji zadań uruchomionej Configuration Manager)
Jak odczytać sekwencję zadań z pakietu sekwencji zadań