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


Добавление шага в группу развертывания операционной системы

Шаг (действие или группа) добавляется в группу последовательности задач развертывания операционной системы в Configuration Manager путем добавления шага в свойство массиваSMS_TaskSequenceGroup.Steps.

Добавление шага в группу последовательности задач

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

  2. Получите объект SMS_TaskSequenceGroup , к которому нужно добавить шаг. Дополнительные сведения см. в статье Создание группы последовательностей задач развертывания операционной системы.

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

  4. Добавьте шаг в свойство массива SMS_TaskSequenceGroup.Steps .

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

Пример

В следующем примере метод добавляет действие командной строки в группу последовательности задач.

Сведения о вызове примера кода см. в разделе Вызов фрагментов кода Configuration Manager.

Sub AddStepToGroup(taskSequenceStep, group)     

    Dim steps   

    ' If needed, create a new steps array.  
    If IsNull(group.Steps) Then  
        steps = Array(taskSequenceStep)  
        group.Steps=steps  
    Else  
        ' Resize the existing steps and add step.  
        steps= Array(group.Steps)  
        ReDim steps (UBound (group.Steps)+1)   
        group.Steps(UBound(steps))=taskSequenceStep   
    End if   

End Sub  
public void AddStepToGroup(  
    WqlConnectionManager connection,   
    IResultObject taskSequence,   
    string groupName)  
{  
    try  
    {  
        // Get the group.  
        List<IResultObject> steps = taskSequence.GetArrayItems("Steps"); // Array of SMS_TaskSequence_Steps.  

        foreach (IResultObject ro in steps)  
        {  
            if (ro["Name"].StringValue == groupName && ro["__CLASS"].StringValue == "SMS_TaskSequence_Group")  
            {  
                IResultObject action = connection.CreateEmbeddedObjectInstance("SMS_TaskSequence_RunCommandLineAction");  
                action["CommandLine"].StringValue = @"C:\donowtingroup.bat";  
                action["Name"].StringValue = "Action in group " + groupName;  
                action["Description"].StringValue = "Action in a group";  
                action["Enabled"].BooleanValue = true;  
                action["ContinueOnError"].BooleanValue = false;  

                // Add the step to the task sequence.  
                List<IResultObject> array = ro.GetArrayItems("Steps");  

                array.Add(action);  

                ro.SetArrayItems("Steps", array);  
                taskSequence.SetArrayItems("Steps", steps);  
                break;  
            }  
        }  
    }  
    catch (SmsException e)  
    {  
        Console.WriteLine("Failed to create Task Sequence: " + e.Message);  
        throw;  
    }  
}  

Метод примера имеет следующие параметры:

Параметр Тип Описание
connection -Управляемых: WqlConnectionManager
— VBScript: SWbemServices
Допустимое подключение к поставщику SMS.
taskSequence

taskSequenceStep
-Управляемых: IResultObject
— VBScript: SWbemObject
— допустимая последовательность задач (SMS_TaskSequence), содержащая группу.
groupName

group
-Управляемых: String
-Vbscript: String
Имя группы, в которую добавляется действие командной строки. Это получается из SMS_TaskSequenceGroup.Name свойства .

Компиляция программы

Для этого примера на 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
Перемещение шага в группу последовательностей задач развертывания другой операционной системы
Создание группы последовательности задач развертывания операционной системы
Удаление шага из группы развертывания операционной системы
Обзор последовательности задач