다음을 통해 공유


운영 체제 배포 작업 순서 작업을 추가하는 방법

운영 체제 배포 작업 순서 작업은 Configuration Manager SMS_TaskSequence_Action 파생 클래스의 instance 만든 다음 작업 순서의 단계에 추가하여 작업 순서에 추가됩니다.

참고

Configuration Manager 사용할 수 있는 여러 기본 제공 작업이 있습니다. 예를 들어 명령줄 작업 클래스는 SMS_TaskSequence_RunCommandLineAction. 이러한 클래스는 SMS_TaskSequence_Action 클래스에서 파생됩니다.

SMS_TaskSequenceAction 작업 및 그룹 모두에 대한 기본 클래스인 SMS_TaskSequence_Step 클래스에서 파생됩니다. 작업 순서는 해당 단계를 SMS_TaskSequence_Step 배열에 저장하므로 작업과 그룹을 함께 저장할 수 있습니다.

작업 순서 작업을 추가하려면

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

  2. 작업 순서(SMS_TaskSequence) 개체를 만듭니다. 자세한 내용은 운영 체제 배포 작업 순서를 만드는 방법을 참조하세요.

  3. SMS_TaskSequenceAction 파생 클래스 instance 만듭니다(예: SMS_TaskSequence_RunCommandLineAction).

  4. 작업을 적절하게 채웁니다.

  5. 작업 순서 단계에 작업을 추가합니다. 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.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 공급자에 연결하는 방법운영 체제 배포 작업 순서 그룹을만드는 방법운영 체제 배포 작업 순서 작업 순서 작업 순서 개요를 삭제하는 방법