다음을 통해 공유


운영 체제 배포 작업 순서를 다시 정렬하는 방법

Configuration Manager 단계 속성 SMS_TaskSequence_Step 배열에서 단계 순서를 다시 정렬하여 작업 순서 또는 그룹의 단계(작업 또는 그룹)를 다시 정렬할 수 있습니다.

작업 순서를 다시 정렬하려면

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

  2. 유효한 작업 순서(SMS_TaskSequence) 또는 작업 순서 그룹(SMS_TaskSequence_Group)을 가져옵니다. 자세한 내용은 작업 순서 패키지에서 작업 순서를 읽는 방법을 참조하세요.

  3. 배열 속성 내에서 StepsSMS_TaskSequence_Step 새 위치로 이동합니다.

  4. 작업 순서 또는 그룹을 업데이트합니다.

예제

다음 예제에서는 작업 순서 또는 그룹 내에서 한 단계씩 위로 또는 아래로 이동하는 방법을 보여줍니다.

샘플 코드 호출에 대한 자세한 내용은 코드 조각 Configuration Manager 호출을 참조하세요.

Sub MoveTaskSequenceStepDown(taskSequence, stepName)
   Dim index
   Dim osdStep
   Dim temp

    index=0

    ' If found, move the step down.
    for each osdStep in taskSequence.Steps
        If osdStep.Name=stepName Then
            If index < Ubound (TaskSequence.Steps) Then
                Set temp=osdStep
                taskSequence.Steps(index)=taskSequence.Steps(index+1)
                taskSequence.Steps(index+1)=temp
                Exit For
           End If
        End If

        index=index+1
    next
End Sub

Sub MoveTaskSequenceStepUp(taskSequence, stepName)
    Dim index
    Dim osdStep
    Dim temp

    index=0

    ' If found, move the step up.
    for Each osdStep In taskSequence.Steps
        If osdStep.Name=stepName Then
            If index >1 Then
                Set temp=osdStep
                taskSequence.Steps(index)=taskSequence.Steps(index-1)
                taskSequence.Steps(index-1)=temp
                Exit For
           End If
        End If

        index=index+1

    next
End Sub
public void MoveTaskSequenceStepDown(
    IResultObject taskSequence,
    string taskSequenceStepName)
{
    try
    {
        // Get the task sequence steps.
        List<IResultObject> steps = taskSequence.GetArrayItems("Steps"); // Array of SMS_TaskSequence_Steps.

        int index = 0;

        // Scan through the steps to find the step to move down.
        foreach (IResultObject ro in steps)
        {
            if (ro["Name"].StringValue == taskSequenceStepName)
            {
                // Move the step.
                if (index < steps.Count - 1) // Not at end, so we can flip.
                {
                    steps.Insert(index + 2, steps[index]);
                    steps.Remove(steps[index]);
                    taskSequence.SetArrayItems("Steps", steps);
                    break;
                }
            }

            index++;
        }
    }
    catch (SmsException e)
    {
        Console.WriteLine("Failed To enumerate task sequence items: " + e.Message);
        throw;
    }
}

public void MoveTaskSequenceStepUp(
    IResultObject taskSequence,
    string taskSequenceStepName)
{
    try
    {
        // Get the task sequence steps.
        List<IResultObject> steps = taskSequence.GetArrayItems("Steps"); // Array of SMS_TaskSequence_Steps.

        int index = 0;

        foreach (IResultObject ro in steps)
        {
            if (ro["Name"].StringValue == taskSequenceStepName)
            {
                if (index > 0) // Not the first step, so you can move it up.
                {
                    steps.Insert(index + 1, steps[index - 1]);
                    steps.Remove(steps[index - 1]);
                    taskSequence.SetArrayItems("Steps", steps);
                    break;
                }
            }
            index++;
        }
    }
    catch (SmsException e)
    {
        Console.WriteLine("Failed To enumerate task sequence items: " + e.Message);
        throw;
    }
}

예제 메서드에는 다음 매개 변수가 있습니다.

매개 변수 형식 설명
taskSequence -관리: IResultObject
- VBScript: SWbemObject
유효한 작업 순서 또는 작업 순서 그룹
taskSequenceStepName

stepName
-관리: String
- VBScript: String
이동할 작업 순서 단계의 이름입니다.

코드 컴파일

이 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 공급자에 연결하는 방법