Удаление шага из группы развертывания операционной системы
В Configuration Manager вы удаляете шаг (действие или группу) из группы последовательности задач развертывания операционной системы, удалив шаг из списка шагов последовательности задач группы.
Удаление шага из группы
Настройте подключение к поставщику SMS. Дополнительные сведения см. в статье Основы поставщика SMS.
Получите объект SMS_TaskSequence_Group , к которому нужно добавить шаг. Дополнительные сведения см. в статье Создание группы последовательностей задач развертывания операционной системы.
Удалите действие из свойства массива SMS_TaskSequence_Group.Steps.
Пример
В следующем примере метод удаляет действие из группы последовательности задач.
Сведения о вызове примера кода см. в разделе Вызов фрагментов кода Configuration Manager.
Sub RemoveActionFromGroup(taskSequenceGroup, actionName)
Dim i
If taskSequenceGroup.SystemProperties_("__CLASS")<>"SMS_TaskSequence_Group" Then
wscript.echo "Not a group"
return
End If
Dim newArray
Dim actionStep
newArray = Array(taskSequenceGroup.Steps)
ReDim newArray(UBound(taskSequenceGroup.Steps))
i=0
for each actionStep in taskSequenceGroup.Steps
If actionStep.Name = actionName and _
actionStep.SystemProperties_("__SUPERCLASS") = "SMS_TaskSequence_Action" Then
ReDim preserve newArray(UBound(newArray)-1) ' shrink the Array
else
wscript.echo actionStep.Name
Set newArray(i)=actionStep ' copy it
i=i+1
End If
Next
taskSequenceGroup.Steps=newArray
End Sub
public void RemoveActionFromGroup(
IResultObject taskSequenceGroup,
string actionName)
{
try
{
if (taskSequenceGroup["__CLASS"].StringValue != "SMS_TaskSequence_Group")
{
throw new System.InvalidOperationException("Not a group");
}
List<IResultObject> groupSteps = taskSequenceGroup.GetArrayItems("Steps");
IResultObject actionFound = null;
foreach (IResultObject actionStep in groupSteps)
{
if (actionStep["Name"].StringValue == actionName && actionStep["__SUPERCLASS"].StringValue == "SMS_TaskSequence_Action")
{
actionFound = actionStep;
break;
}
}
groupSteps.Remove(actionFound);
taskSequenceGroup.SetArrayItems("Steps", groupSteps);
}
catch (SmsException e)
{
Console.WriteLine("Failed to remove action: " + e.Message);
throw;
}
}
Метод примера имеет следующие параметры:
Параметр | Тип | Описание |
---|---|---|
taskSequenceGroup |
— Управляемый: IResultObject — VBScript: SWbemObject |
Группа последовательности задач, содержащая удаляемое действие. |
actionName |
-Управляемых: String -Vbscript: String |
Имя удаляемого действия. Это можно получить из свойства SMS_TaskSequenceAction.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
Перемещение шага в группу последовательностей задач развертывания другой операционной системы
Создание группы последовательности задач развертывания операционной системы
Обзор последовательности задач