Поделиться через


Настройка переменной последовательности задач развертывания операционной системы

В Configuration Manager создается переменная последовательности задач развертывания операционной системы путем создания экземпляра класса SMS_TaskSequence_SetVariableAction и добавления в последовательность задач. Вы также можете создавать переменные последовательности задач, пока последовательность задач выполняется на клиенте. Дополнительные сведения см. в разделе Использование переменных последовательности задач в выполняемой последовательности задач Configuration Manager.

Переменная последовательности задач — это пара "имя-значение", доступ к которым можно получить с помощью шагов последовательности задач. Кроме того, можно создавать переменные, относящиеся к компьютеру и коллекции. Дополнительные сведения см. в разделах Создание переменной коллекции в Configuration Manager и Создание переменной компьютера в Configuration Manager.

Примечание.

Переменные, заданные классом SMS_TaskSequence_SetVariableAction , переопределяют переменные, заданные в другом месте. Например, если переменная коллекции и SMS_TaskSequence_SetVariableAction имеют одинаковые имена, приоритет имеет значение переменной SMS_TaskSequence_SetVariableAction.

Задание переменной последовательности задач

  1. Настройте подключение к поставщику SMS. Дополнительные сведения см. в статье Основы поставщика SMS.

  2. Получение последовательности задач для добавления переменной последовательности задач. Дополнительные сведения см. в разделе Создание последовательности задач развертывания операционной системы.

  3. Создайте экземпляр SMS_TaskSequence_SetVariableAction.

  4. Задайте свойства VariableName и VariableValue для добавляемой переменной.

  5. Добавьте объект 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

Microsoft.ConfigurationManagement.ManagementProvider

Microsoft.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 ПоследовательностьЧтение последовательности задач из пакета последовательности задач