다음을 통해 공유


운영 체제 배포 그룹에서 단계를 제거하는 방법

Configuration Manager 그룹의 작업 순서 단계 목록에서 단계를 삭제하여 운영 체제 배포 작업 순서 그룹에서 단계(작업 또는 그룹)를 삭제합니다.

그룹에서 단계를 제거하려면

  1. SMS 공급자에 대한 연결을 설정합니다. 자세한 내용은 SMS 공급자 기본 사항을 참조하세요.

  2. 단계를 추가할 SMS_TaskSequence_Group 개체를 가져옵니다. 자세한 내용은 운영 체제 배포 작업 순서 그룹을 만드는 방법을 참조하세요.

  3. 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.Collections.Generic

System.Text

Microsoft.ConfigurationManagement.ManagementProvider

Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine

어셈블리

microsoft.configurationmanagement.managementprovider

adminui.wqlqueryengine

강력한 프로그래밍

오류 처리에 대한 자세한 내용은 Configuration Manager 오류 정보를 참조하세요.

.NET Framework 보안

Configuration Manager 애플리케이션 보안에 대한 자세한 내용은 역할 기반 관리 Configuration Manager 참조하세요.

참고 항목

개체 개요 운영 체제 배포 그룹에 단계를 추가하는 방법 관리 코드를 사용하여 CONFIGURATION MANAGER SMS 공급자에 연결하는방법 WMI를 사용하여 CONFIGURATION MANAGER SMS 공급자에 연결하는 방법다른 운영 체제 배포 작업 순서 그룹으로단계를 이동하는 방법운영 체제 배포 작업 순서 그룹 작업 순서개요를 만드는 방법