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


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

В 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

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