Добавление действия последовательности задач развертывания операционной системы
Действие последовательности задач развертывания операционной системы добавляется в последовательность задач в Configuration Manager путем создания экземпляра производного класса SMS_TaskSequence_Action, а затем добавления его в шаги последовательности задач.
Примечание.
Configuration Manager имеет ряд встроенных действий, которые можно использовать. Например, класс действий командной строки — SMS_TaskSequence_RunCommandLineAction. Эти классы являются производными от класса SMS_TaskSequence_Action .
SMS_TaskSequenceAction является производным от класса SMS_TaskSequence_Step , который является базовым классом для действий и групп. Последовательность задач хранит свои шаги в массиве SMS_TaskSequence_Step, что позволяет хранить действия и группы вместе.
Добавление действия последовательности задач
Настройте подключение к поставщику SMS. Дополнительные сведения см. в статье Основы поставщика SMS.
Создайте объект последовательности задач (SMS_TaskSequence). Дополнительные сведения см. в разделе Создание последовательности задач развертывания операционной системы.
Создайте экземпляр производного класса SMS_TaskSequenceAction , например SMS_TaskSequence_RunCommandLineAction, для нужного действия.
Заполните действие соответствующим образом.
Добавьте действие в шаги последовательностей задач. Хранится свойство класса SMS_TaskSequence) Steps.
Пример
В следующем примере метод создает действие командной строки и добавляет его в указанную последовательность задач.
Сведения о вызове примера кода см. в разделе Вызов фрагментов кода Configuration Manager.
Sub AddTaskSequenceActionCommandLine(connection, taskSequence, name, description)
Dim steps
Dim action
Set action = connection.Get("SMS_TaskSequence_RunCommandLineAction").SpawnInstance_
action.CommandLine = "cmd /c Echo Hello"
action.Name=name
action.Description=description
action.Enabled=True
action.ContinueOnError=False
If IsNull(taskSequence.Steps) Then
steps = Array(action)
taskSequence.Steps=steps
Else
steps= Array(taskSequence.Steps)
ReDim steps (UBound (taskSequence.Steps)+1)
taskSequence.Steps(UBound(steps))=action
End if
End Sub
public IResultObject AddTaskSequenceActionCommandLine(
WqlConnectionManager connection,
IResultObject taskSequence,
string name,
string description)
{
try
{
// Create the new step.
IResultObject ro;
ro = connection.CreateEmbeddedObjectInstance("SMS_TaskSequence_RunCommandLineAction");
ro["CommandLine"].StringValue = @"cmd /c Echo Hello";
ro["Name"].StringValue = name;
ro["Description"].StringValue = description;
ro["Enabled"].BooleanValue = true;
ro["ContinueOnError"].BooleanValue = false;
// Add the step to the task sequence.
List<IResultObject> array = taskSequence.GetArrayItems("Steps");
array.Add(ro);
taskSequence.SetArrayItems("Steps", array);
return ro;
}
catch (SmsException e)
{
Console.WriteLine("Failed to add action: " + e.Message);
throw;
}
}
Метод примера имеет следующие параметры:
Параметр | Тип | Описание |
---|---|---|
connection |
-Управляемых: WqlConnectionManager — VBScript: SWbemServices |
Допустимое подключение к поставщику SMS. |
taskSequence |
-Управляемых: IResultObject — VBScript: SWbemObject |
Допустимая последовательность задач. |
Name |
-Управляемых: String -Vbscript: String |
Имя нового действия. |
Description |
-Управляемых: 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
Создание группы последовательности задач развертывания операционной системы
Удаление действия последовательности задач развертывания операционной системы
Обзор последовательности задач