Configuration Manager 사용자 지정 작업 MOF 파일 정보

Configuration Manager에서 운영 체제 배포 작업은 MOF (MOF(Managed Object Format)) 파일% ProgramFiles % \ Microsoft Configuration Manager\bin\i386 _tasksequenceprovider에 정의 되어 있습니다. \

사용자 지정 작업을 만들 때 사용자 지정 작업을 선언 하는 MOF 파일을 만들어야 합니다. 그런 다음 Mofcomp.exe를 사용 하 여 변경 내용을 SMS 공급자에 추가 합니다. 자세한 내용은 Configuration Manager 사용자 지정 작업을 위한 MOF 파일을 만드는 방법을 참조 하세요.

관리자는 사용자 지정 작업 제어를 사용 하 여 MOF 파일에 정의 된 대로 사용자 지정 작업을 구성 합니다. 자세한 내용은 Configuration Manager 사용자 지정 작업 정보를 참조 하세요.

MOF 파일 콘텐츠

사용자 지정 작업은 SMS_TaskSequence_Action 서버 WMI 클래스에서 파생 됩니다. MOF 파일 선언에는 클래스 정의와 명령줄, 작업 순서 변수, 범주 및 사용자 지정 작업 제어 어셈블리 위치에 대 한 다양 한 한정자가 포함 되어 있습니다.

한정자를 사용 하는 경우를 제외 하 고 클래스에서 선언 된 속성 CommandLineArg 은 클라이언트 배포 중에 작업 순서 변수로 사용할 수 있습니다. 자세한 내용은 실행 중인 Configuration Manager 작업 순서에서 작업 순서 변수를 사용 하는 방법을 참조 하세요.

사용자 지정 작업에 대 한 네임 스페이스는 \ \root\ SMS_Site_SITECODE입니다. MOF 파일이 컴파일될 때 사용자 지정 작업은 SMS_TaskSequence_Action SERVER WMI 클래스의 자식으로 구성 됩니다.

참고

MOF 예제는 _tasksequenceprovider에서 선언 된 작업 순서 동작 MOF를 참조 하세요.

사용자 지정 작업 선언에 대 한 MOF 파일의 섹션은 다음 예제와 유사 합니다.

[   CommandLine("smsswd.exe /run:%1 Application.exe /user:%2"),  
    VariablePrefix("MyCustomActionPrefix"),  
    ActionCategory("My Custom Action Category,7,1"),  
    ActionName{"ConfigMgrTSAction.dll", "ConfigMgrTSAction.Properties.Resources", "ConfigMgrTSAction"},  
    ActionUI{"ConfigMgrTSAction.dll", "ConfigMgrTSAction","ConfigMgrTSActionControl",   
"ConfigureTSActionOptions"}  
    ]  
class ConfigMgrTSActionControl : SMS_TaskSequence_Action  
{  
    [TaskSequencePackage, CommandLineArg(1)]  
    string          PackageIDForApplicationExe;  

    [Not_Null, CommandLineArg(2)]  
    string          User;  

    [VariableName("CustomLocation")]  
    string          Location;  

};  

전체 MOF는 네임 스페이스와 기타 정보를 지정 합니다.

이 샘플에 대 한 전체 MOF는 Configuration Manager 사용자 지정 작업을 위한 Mof 파일을 만드는 방법을 참조 하세요.

명령줄

동작에 대 한 명령줄은 클래스 한정자에 설명 되어 CommandLine 있습니다. 이 메서드는 호출 되는 응용 프로그램과 제공할 수 있는 다양 한 인수를 정의 합니다. 각 명령줄 인수에 대해 CommandLineArg 해당 클래스 속성의 인수에 대 한 클래스 한정자가 있습니다.

CommandLine 는 일반적으로 다음 형식을 사용 합니다.

CommandLine("smsswd.exe /run:%1 Application.exe %2 %3")

Smsswd.exe는 패키지 내에서 프로그램을 실행 하는 데 사용 됩니다. 다음 인수가 필요 합니다.

인수 설명
/run: %1 응용 프로그램이 있는 패키지를 식별 합니다. %1은 (는) 패키지 식별자 (SMS_Package 서버 WMI 클래스 PackageID 속성)입니다.
Application.exe 수행 되는 사용자 지정 작업 응용 프로그램입니다.
%2-% n Application.exe에 대 한 하나 이상의 명령줄 인수입니다.

명령줄 대체 문자열 %1, %2 등은 클래스 한정자로 정의 됩니다 CommandLineArg . 예를 들어 다음은 %1을 선언 합니다.

[TaskSequencePackage, CommandLineArg(1)]  
string          PackageIDForApplicationExe;  

사용자 지정 동작 컨트롤을 사용 하 여 속성을 사용 하 여 PackageIDForApplicationExe 패키지 식별자를 구성 합니다.

참고

한정자로 선언 된 속성 CommandLineArg 은 클라이언트 배포 중에 작업 순서 변수로 사용할 수 없습니다.

작업 범주

작업 순서 편집기 드롭다운 메뉴에서 클래스 한정자를 사용 하 여 특정 범주에 작업을 연결할 수 있습니다 ActionCategory .

참고

다른 작업에서 이미 사용 중인 범주를 사용 하지 마십시오.

구문은 다음과 같습니다.

ActionCategory{CategoryName,ActionOrder,CategoryOrder}

CategoryName
범주 이름입니다.

ActionOrder
범주 내의 작업 순서입니다.

CategoryOrder
모든 범주 내의 범주 순서입니다.

작업을 추가할 수 있는 기본 Configuration Manager 범주는 다음과 같습니다.

  • 일반

  • 디스크

  • 사용자 상태

  • 이미지

  • 드라이버

  • 설정

    클래스 한정자에 새 범주를 지정 하 여 새 범주를 만들 수도 있습니다 ActionCategory . 예를 들어 다음 MOF 파일은 내 사용자 지정 범주 라는 새 범주를 만듭니다. 작업은 범주 내에서 두 번째로 배치 되며 범주는 다섯 번째 전체에 배치 됩니다.

    ActionCategory{"My Custom Category",2,5"},

ActionName

ActionName클래스 한정자는 사용자 지정 작업 컨트롤 이름을 정의 합니다. 한정자의 구문은 다음과 같습니다.

ActionName{"Assembly", "Namespace.Properties.Resources", "Control"}

Assembly
동작 컨트롤을 포함 하는 어셈블리입니다.

Namespace.Properties.Resources
표시 된 작업 이름 문자열을 포함 하는 리소스에 대 한 네임 스페이스입니다. 자세한 내용은 Configuration Manager 사용자 지정 작업 제어를 만드는 방법을 참조 하세요.

Control
문자열 리소스를 포함 하는 컨트롤입니다.

작업 사용자 인터페이스

ActionUI클래스 한정자는 어셈블리의 위치와 작업에 사용 되는 클래스를 정의 합니다. 한정자의 구문은 다음과 같습니다.

ActionUI{"Assembly","Namespace", "Control", "Option control"}

Assembly
동작 컨트롤을 포함 하는 어셈블리입니다.

Namespace
작업 컨트롤이 상주 하는 네임 스페이스입니다.

Control
작업 순서 편집기에 표시 되는 작업 컨트롤입니다. Option 컨트롤 페이지를 호스팅합니다.

Option control
작업 순서 편집기에서 작업 옵션을 관리 하는 데 사용 되는 페이지입니다.

쉼표로 구분 된 더 많은 컨트롤 클래스 이름을 포함 하 여 여러 컨트롤 탭을 구현할 수 있습니다. 예를 들면 다음과 같습니다.

ActionUI {"Assembly", "Namespace", "Control1", "Control2", "Control3", "Option control"}

작업 변수

VariableName한정자는 속성에 대 한 기본 변수 이름을 재정의 하는 데 사용 됩니다.

클래스 한정자를 추가 하 여 클래스 속성을 작업 순서 변수로 정의할 수 있습니다 VariableName . 위의 예제에서 속성은 MessageTimeout 이름이 인 작업 변수입니다 RebootTimeout .

VariablePrefix클래스 한정자를 사용 하는 경우 변수에는 클래스 한정자 값이 접두사로 붙습니다.

변수 사용에 대 한 자세한 내용은 실행 중인 Configuration Manager 작업 순서에서 작업 순서 변수를 사용 하는 방법 을 참조 하세요.

속성

한정자

MOF 속성에 적용할 수 있는 여러 한정자가 있습니다. 일반적으로 다음이 사용 됩니다.

한정자 설명
CommandLineArg 명령줄에 삽입 해야 하는 속성입니다.
Not_Null 이 속성에는 값이 필요 합니다.
콘텐츠가 허용 되는 문자열 값의 목록을 지정 합니다.
ValueRange 허용 되는 값의 범위 (int 필드)를 지정 합니다.
RequiredIfNull 다른 속성이 null 인 경우이 속성에 값이 필요 합니다.
TaskSequencePackage 속성을 패키지 식별자로 식별 합니다.
VariableName 작업 순서 환경의 속성에 대해 다른 이름을 지정 합니다.
AllowedLen 문자열의 최소 및 최대 문자 수를 지정 합니다.
SuccessCodes 성공 여부를 나타내는 실행 파일에서 하나 이상의 반환 코드를 지정 합니다.

제한

  • 일반 한정자 제약 조건을 클래스 속성에 적용할 수 있습니다. 예를 들어 위의 예제에서 명령줄 인수는 일 수 없습니다 null . 자세한 내용은 WMI(Windows Management Instrumentation) (WMI) SDK를 참조 하세요.

  • 속성 이름 및 한정자가 MOF 파일, 사용자 지정 작업 제어 및 클라이언트 응용 프로그램 간에 동기화 되었는지 확인 합니다. 속성 이름은 모든 제한 사항 뿐만 아니라 반드시 일치 해야 합니다. 예를 들어, int 속성이 필수이 고 범위가 1-512 범위에 있어야 하는 경우 MOF 파일에는 및 한정자가 있어야 하 Not_NullValueRange , 사용자 지정 컨트롤은 속성이 설정 되어 있고 범위 내에 있는지 확인 하 고, 클라이언트 응용 프로그램에서 값을 사용 하기 전에 해당 값을 확인 해야 합니다.

참고 항목

Configuration Manager 사용자 지정 작업 정보
Configuration Manager 사용자 지정 작업 컨트롤을 만드는 방법
Configuration Manager 사용자 지정 작업을 위한 MOF 파일을 만드는 방법
실행 중인 Configuration Manager 작업 순서에서 작업 순서 변수를 사용 하는 방법
Configuration Manager 사용자 지정 동작 클라이언트 응용 프로그램 정보