Настройка переменной последовательности задач развертывания операционной системы
В Configuration Manager создается переменная последовательности задач развертывания операционной системы путем создания экземпляра класса SMS_TaskSequence_SetVariableAction и добавления в последовательность задач. Вы также можете создавать переменные последовательности задач, пока последовательность задач выполняется на клиенте. Дополнительные сведения см. в разделе Использование переменных последовательности задач в выполняемой последовательности задач Configuration Manager.
Переменная последовательности задач — это пара "имя-значение", доступ к которым можно получить с помощью шагов последовательности задач. Кроме того, можно создавать переменные, относящиеся к компьютеру и коллекции. Дополнительные сведения см. в разделах Создание переменной коллекции в Configuration Manager и Создание переменной компьютера в Configuration Manager.
Примечание.
Переменные, заданные классом SMS_TaskSequence_SetVariableAction , переопределяют переменные, заданные в другом месте. Например, если переменная коллекции и SMS_TaskSequence_SetVariableAction имеют одинаковые имена, приоритет имеет значение переменной SMS_TaskSequence_SetVariableAction.
Задание переменной последовательности задач
Настройте подключение к поставщику SMS. Дополнительные сведения см. в статье Основы поставщика SMS.
Получение последовательности задач для добавления переменной последовательности задач. Дополнительные сведения см. в разделе Создание последовательности задач развертывания операционной системы.
Создайте экземпляр SMS_TaskSequence_SetVariableAction.
Задайте свойства VariableName и VariableValue для добавляемой переменной.
Добавьте объект SMS_TaskSequence_SetVariableAction в последовательность задач.
Пример
В следующем примере метод задает имя и значение переменной последовательности задач.
Сведения о вызове примера кода см. в разделе Вызов фрагментов кода 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;
}
}
Этот пример метода имеет следующие параметры:
Параметр | Тип | Описание |
---|---|---|
connection |
-Управляемых: WqlConnectionManager — VBScript: SWbemServices |
— допустимое подключение к поставщику SMS. |
taskSequence |
-Управляемых: WqlConnectionManager -Vbscript: SWbemServices |
— последовательность задач, в который добавляется переменная. |
variableName |
-Управляемых: String -Vbscript: String |
Имя переменной. |
variableValue |
-Управляемых: String -Vbscript: String |
Значение переменной. |
Компиляция программы
Для этого примера на C# требуется следующее:
Пространства имен
System;
System.Collections.Generic;
System.Text
Майкрософт. ConfigurationManagement.ManagementProvider
Майкрософт. ConfigurationManagement.ManagementProvider.WqlQueryEngine
Assembly
microsoft.configurationmanagement.managementprovider
adminui.wqlqueryengine
Надежное программирование
Дополнительные сведения об обработке ошибок см. в разделе Сведения об ошибках Configuration Manager.
Безопасность .NET Framework
Дополнительные сведения о защите приложений Configuration Manager см. в статье Configuration Manager администрирование на основе ролей.
См. также
Общие сведения об объектах. Подключение к поставщику SMS в Configuration Manager с помощью управляемого кода
Подключение к поставщику SMS в Configuration Manager с помощью WMI
Общие сведения о последовательности задач. Использование переменных последовательности задач в запущенной последовательности задач Configuration Manager
Чтение последовательности задач из пакета последовательности задач