SMS_Program 서버 WMI 클래스

SMS_ProgramWMI(Windows Management Instrumentation) (WMI) 클래스는 소프트웨어가 클라이언트 컴퓨터에 배포 될 때 실행할 프로그램이 나 명령을 나타내는 SMS 공급자 서버 클래스 (Configuration Manager)입니다.

MOF(Managed Object Format) 코드에서 간결하게 표기된 다음 구문은 상속된 속성을 모두 포함합니다.

구문

Class SMS_Program : SMS_BaseClass  
{  
     UInt32 ActionInProgress;  
     String ApplicationHierarchy;  
     String CommandLine;  
     String Comment;  
     String DependentProgram;  
     String Description;  
     UInt32 DeviceFlags;  
     String DiskSpaceReq;  
     String DriveLetter;  
     UInt32 Duration;  
     UInt8 ExtendedData[];  
     UInt32 ExtendedDataSize;  
     UInt8 Icon[];  
     UInt32 IconSize;  
     UInt8 ISVData[];  
     UInt32 ISVDataSize;  
     String ISVString;  
     String MSIFilePath  
     String MSIProductID  
     String PackageID;  
     String PackageName  
     UInt32 PackageType  
     String PackageVersion  
     UInt32 ProgramFlags;  
     String ProgramName;  
     String RemovalKey;  
     String Requirements;  
     UInt32 SecuredTypeID  
     SMS_OS_Details SupportedOperatingSystems[];  
     UInt32   TransformReadiness=0;   
     Datetime TransformAnalysisDate;   
     String   TransformDtID;   
     String WorkingDirectory;  
};  

메서드

SMS_Program 클래스는 메서드를 정의하지 않습니다.

속성

ActionInProgress
데이터 형식: UInt32

액세스 형식: 읽기 전용

한정자: [read, enumeration]

Configuration Manager 여 프로그램과 연결 된 패키지에서 수행 되는 현재 작업입니다. 가능한 값은 다음과 같습니다.

설명
0 없음
1 UPDATE
2 ADD
3 Delete

삭제 하도록 표시 되었지만 아직 삭제 되지 않은 프로그램을 필터링 하려면 WHERE 절에서이 속성을 사용 합니다. 자세한 내용은 이 항목의 뒷부분에 나오는 주의 섹션을 참조하십시오.

ApplicationHierarchy
데이터 형식: String

액세스 형식: 읽기/쓰기

한정자: 없음

프로그램의 응용 프로그램 계층 구조입니다. 기본값은 ""입니다.

CommandLine
데이터 형식: String

액세스 형식: 읽기/쓰기

한정자: 없음

프로그램이 시작 될 때 실행 되는 명령줄입니다. 기본값은 ""입니다.

Comment
데이터 형식: String

액세스 형식: 읽기/쓰기

한정자: 없음

Configuration Manager 콘솔에서 프로그램을 설명 하는 설명입니다. 기본값은 ""입니다.

DependentProgram
데이터 형식: String

액세스 형식: 읽기/쓰기

한정자: 없음

이 프로그램을 실행 하기 전에 실행 해야 하는 프로그램을 정의 하는 서식 있는 텍스트 문자열입니다. 형식은;;으로 정의 됩니다 <PackageID> <ProgramName> . 프로그램이 동일한 패키지에 있는 경우 호출 하는 응용 프로그램에서는,;만 지정할 수 <ProgramName> 있습니다. 기본값은 ""입니다.

종속성은 프로그램을 처음 실행할 때에만 유지 관리 됩니다. 프로그램이 실행 된 후 종속성은 무시 됩니다. 예를 들어 각 프로그램을 실행할 때 종속성이 유지 되는 되풀이 예약 된 작업을 만들 수 없습니다.

Description
데이터 형식: String

액세스 형식: 읽기/쓰기

한정자: 없음

사용되지 않습니다.

DeviceFlags
데이터 형식: UInt32

액세스 형식: 읽기/쓰기

한정자: 없음

프로그램과 연결 된 장치를 설명 하는 플래그입니다. 가능한 값은 다음과 같습니다.

16 진수 (비트) 설명
0x01000000 (24) 항상 클라이언트에 프로그램을 할당 합니다.
0x02000000 (25) 장치가 현재 고대역폭 연결 (기본값 60 KBps 이상)에 연결 된 경우에만 할당 합니다.
0x04000000 (26) 장치가 도킹 된 경우 (즉, ActiveSync를 사용 하는 데스크톱에 연결 된 경우)에만 할당 합니다.

DiskSpaceReq
데이터 형식: String

액세스 형식: 읽기/쓰기

한정자: 없음

프로그램에 필요한 대략적인 디스크 공간입니다. "" 형식입니다 <size> <KB|MB|GB> . 기본값은 ""입니다.

이 정보는 Configuration Manager 콘솔과 프로그램의 디스크 공간 요구 사항에 대 한 경고를 제공 하는 보급 알림에 사용 됩니다. 사용자는 보급 알림을 수락 하거나 일부 디스크 관리 작업을 먼저 수행 하도록 결정할 수 있습니다.

DriveLetter
데이터 형식: String

액세스 형식: 읽기/쓰기

한정자: [SizeLimit ("1"), 범위 ("a-z")]

프로그램이 매핑되고 실행 되는 드라이브 문자 (a-z 범위의 한 문자)입니다. 기본값은 ""입니다.

Duration
데이터 형식: UInt32

액세스 형식: 읽기/쓰기

한정자: 없음

클라이언트 컴퓨터에서 프로그램을 실행 하는 대략적인 시간 (분)입니다. 이 값을 0 보다 크거나 같은 정수 (기본값) 또는 알 수 없음 (권장 하지 않음)으로 지정 합니다. 속성이 Unknown으로 설정 된 경우 Configuration Manager는 최대 허용 실행 시간을 720 분 (12 시간)으로 설정 합니다. 자세한 내용은이 항목의 뒷부분에 나오는 주의 섹션을 참조 하십시오.

참고

클라이언트 컴퓨터의 경우 게시 된 프로그램에 대해 지정 된 값이 제어판의에 표시 됩니다 Run Advertised Programs .

ExtendedData
데이터 형식: UInt8 Array

액세스 형식: 읽기/쓰기

한정자: [large, lazy]

이미지 배포용 XML blob입니다.

ExtendedDataSize
데이터 형식: UInt32

액세스 형식: 읽기/쓰기

한정자: [lazy]

확장 데이터 크기 (바이트)입니다. 기본값은 0입니다.

Icon
데이터 형식: UInt8 Array

액세스 형식: 읽기/쓰기

한정자: [large]

Configuration Manager 콘솔에 표시 되는 프로그램 아이콘과 연결 된 아이콘 정보입니다.

IconSize
데이터 형식: UInt32

액세스 형식: 읽기/쓰기

한정자: [lazy]

프로그램 아이콘의 크기 (바이트)입니다. 아이콘을 지우려면이 속성을 0으로 설정 합니다.

ISVData
데이터 형식: UInt8 Array

액세스 형식: 읽기/쓰기

한정자: [large, lazy]

단일 ISV가 개체와 관련 된 데이터를 저장할 수 있도록 하는 정보입니다 SMS_Program .

ISV 데이터에 대 한 제한 또는 정의 된 형식은 없습니다. 그러나 ISV 소유권이 설정 된 후에는 속성을 덮어쓰지 않는 것이 중요 합니다. 응용 프로그램은 먼저이 속성의 기존 데이터를 읽어야 합니다. 응용 프로그램에 속하지 않는 데이터는 수정 하면 안 됩니다. 소유권을 쉽게 설정할 수 있도록 프로그램의 데이터에 식별자를 포함 해야 합니다.

ISVDataSize
데이터 형식: UInt32

액세스 형식: 읽기/쓰기

한정자: [lazy]

에 저장 된 데이터의 크기 (바이트)입니다 ISVData . 기본값은 0입니다.

ISVString
데이터 형식: String

액세스 형식: 읽기/쓰기

한정자: 없음

파트너 확장성을 위한 문자열입니다.

MSIFilePath
데이터 형식: String

액세스 형식: 읽기/쓰기

한정자: 없음

프로그램과 연결 된 Windows Installer 패키지의 파일 경로입니다. 기본값은 ""입니다.

MSIProductID
데이터 형식: String

액세스 형식: 읽기/쓰기

한정자: 없음

프로그램과 연결 된 Windows Installer 패키지의 제품 ID입니다. 기본값은 ""입니다.

PackageID
데이터 형식: String

액세스 형식: 읽기/쓰기

한정자: [키, Not_null]

프로그램을 연결 하는 데 사용할 기존 패키지의 ID입니다. 자세한 내용은 이 항목의 뒷부분에 나오는 주의 섹션을 참조하십시오.

PackageName
데이터 형식: String

액세스 형식: 읽기/쓰기

한정자: [없음]

프로그램이 속한 패키지의 이름입니다.

PackageType
데이터 형식: String

액세스 형식: 읽기/쓰기

한정자: [없음]

프로그램이 속한 패키지의 유형입니다.

설명
0 일반 소프트웨어 배포 패키지.
3 드라이버 패키지.
4 작업 순서 패키지입니다.
5 소프트웨어 업데이트 패키지.
6 장치 설정 패키지.
257 이미지 패키지.
258 부팅 이미지 패키지.
259 운영 체제 설치 패키지입니다.

PackageVersion
데이터 형식: String

액세스 형식: 읽기/쓰기

한정자: [없음]

프로그램이 속한 패키지의 버전입니다.

ProgramFlags
데이터 형식: UInt32

액세스 형식: 읽기/쓰기

한정자: [bits]

프로그램의 설치 특성을 식별 하는 플래그입니다. 가능한 값은 다음과 같습니다. 기본값은 FIRSTUSER, USEUNCPATH, USERCONTEXT 및 무인입니다.

참고

를 프로그래밍 방식으로 사용 하는 경우 충돌 하는 SMS_Program 값을 선택 하지 않아야 합니다. 예를 들어 NOUSERLOGGEDIN 및 USERCONTEXT는 함께 사용 하면 안 됩니다.

가능한 값은 다음과 같습니다.

16 진수 (비트) 설명
0x00000001 (0) AUTHORIZED_DYNAMIC_INSTALL. 프로그램에 동적 설치 권한이 부여 되었습니다.
0x00000002 (1) USECUSTOMPROGRESSMSG. 작업 순서는 사용자 지정 진행률 사용자 인터페이스 메시지를 표시 합니다.
0x00000010 (4) DEFAULT_PROGRAM. 기본 프로그램입니다.
0x00000020 (5) DISABLEMOMALERTONRUNNING. 프로그램이 실행 되는 동안 MOM 경고를 사용 하지 않도록 설정 합니다.
0x00000040 (6) MOMALERTONFAIL. 프로그램이 실패 하면 MOM 경고를 생성 합니다.
0x00000080 (7) RUN_DEPENDANT_ALWAYS. 설정 하는 경우이 프로그램의 즉각적인 종속을 항상 실행 해야 합니다.
0x00000100 (8) WINDOWS_CE. 장치 프로그램을 나타냅니다. 설정 되 면 프로그램이 데스크톱 클라이언트에 제공 되지 않습니다.
0x00000200 (9) 이 값은 사용되지 않습니다.
0x00000400 (10) 다운. 카운트다운 대화 상자는 표시 되지 않습니다.
0x00000800 (11) FORCERERUN. 이 값은 사용되지 않습니다.
0x00001000 (12) 해제. 프로그램을 사용할 수 없습니다.
0x00002000 (13) 설치. 프로그램을 사용 하려면 사용자 조작이 필요 하지 않습니다.
0x00004000 (14) USERCONTEXT. 사용자가 로그온 되어 있는 경우에만 프로그램을 실행할 수 있습니다.
0x00008000 (15) ADMINRIGHTS. 프로그램은 로컬 관리자 계정으로 실행 해야 합니다.
0x00010000 (16) Firstuser. 프로그램은 유효한 모든 사용자가 실행 해야 합니다. 필수 작업에만 유효 합니다.
0x00020000 (17) NOUSERLOGGEDIN. 이 프로그램은 로그온 한 사용자가 없는 경우에만 실행 됩니다.
0x00040000 (18) OKTOQUIT. 프로그램이 컴퓨터를 다시 시작 합니다.
0x00080000 (19) OKTOREBOOT. Configuration Manager 프로그램의 실행이 성공적으로 완료 되 면 컴퓨터를 다시 시작 합니다.
0x00100000 (20) USEUNCPATH. UNC 경로 (드라이브 문자 없음)를 사용 하 여 배포 지점에 액세스 합니다.
0x00200000 (21) PERSISTCONNECTION. R 속성에 지정 된 드라이브에 대 한 연결을 유지 합니다. USEUNCPATH bit 플래그를 설정 하지 않아야 합니다.
0x00400000 (22) RUNMINIMIZED. 프로그램을 최소화 된 창으로 실행 합니다.
0x00800000 (23) RUNMAXIMIZED. 프로그램을 최대화 된 창으로 실행 합니다.
x01000000 (24) HIDEWINDOW. 프로그램 창을 숨깁니다.
0x02000000 (25) OKTOLOGOFF. 프로그램이 성공적으로 완료 되 면 사용자를 로그 오프 합니다.
0x04000000 (26) RUNACCOUNT. 이 값은 사용되지 않습니다.
0x08000000 (27) ANY_PLATFORM. 플랫폼 지원 확인을 재정의 합니다.
0x10000000 (28) STILL_RUNNING. 이 값은 사용되지 않습니다.
0x20000000 (29) SUPPORT_UNINSTALL. 보급 알림이 만료 되 면 레지스트리 키에서 제거를 실행 합니다.
0x40000000 (30) 플랫폼이 지원되지 않는 경우
0x80000000 (31) SHOW_IN_ARP. 이 값은 사용되지 않습니다.

ProgramName
데이터 형식: String

액세스 형식: 읽기/쓰기

한정자: [키, Not_null]

이 프로그램을 나타내는 고유한 이름입니다.

RemovalKey
데이터 형식: String

액세스 형식: 읽기/쓰기

한정자: 없음

프로그램의 제거 스크립트를 식별 하는 레지스트리 키입니다. 스크립트는 레지스트리 경로에 있어야 합니다 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall . 기본값은 ""입니다.

Requirements
데이터 형식: String

액세스 형식: 읽기/쓰기

한정자: 없음

프로그램의 추가 요구 사항에 대 한 설명입니다. 기본값은 ""입니다.

SecuredTypeID
데이터 형식: UInt32

액세스 형식: 읽기/쓰기

한정자: [없음]

관련 패키지의 보안 유형입니다.

SupportedOperatingSystems
데이터 형식: SMS_OS_Details Array

액세스 형식: 읽기/쓰기

한정자: [lazy]

프로그램을 실행할 수 있는 운영 체제를 나타내는 SMS_OS_Details 서버 WMI 클래스 개체입니다.

속성에 ANY_PLATFORM을 지정 하지 않으면 ProgramFlags 지원 되는 운영 체제를 하나 이상 지정 해야 합니다. SMS_SupportedPlatforms SERVER WMI 클래스 는 Configuration Manager 지원 되는 플랫폼 목록을 정의 합니다.

TransformAnalysisDate
데이터 형식: DateTime

액세스 형식: 읽기/쓰기

한정자: [없음]

내부 전용입니다.

TransformDtID
데이터 형식: String

액세스 형식: 읽기/쓰기

한정자: [없음]

내부 전용입니다.

TransformReadiness
데이터 형식: UInt32

액세스 형식: 읽기/쓰기

한정자: [없음]

내부 전용입니다.

WorkingDirectory
데이터 형식: String

액세스 형식: 읽기/쓰기

한정자: 없음

프로그램이 실행 되는 위치입니다. 기본값은 ""입니다.

작업 디렉터리는 클라이언트의 절대 경로 또는 패키지가 포함 된 배포 지점 폴더의 상대 경로일 수 있습니다. 작업 디렉터리를 지정 하지 않으면 Configuration Manager 기본 배포 지점 폴더를 사용 합니다.

설명

이 클래스에 대한 특수 클래스 한정자는 없습니다. 클래스 한정자와 속성 섹션에 포함 된 속성 한정자에 대 한 자세한 내용은 Configuration Manager 클래스 및 속성 한정자를 참조 하세요.

프로그램은 항상 부모 패키지와 연결 되며 일반적으로 패키지의 설치 프로그램을 나타냅니다. 두 개 이상의 프로그램을 동일한 패키지에 연결할 수 있습니다. 응용 프로그램은 속성을 사용 하 여 PackageID 이 연결을 만듭니다. 개체를 만든 후에는 응용 프로그램에서이 속성을 변경할 수 없습니다 SMS_Program . 프로그램을 다른 패키지와 연결 하려면 응용 프로그램에서 개체를 삭제 하 고 새 값을 사용 하 여 새 개체를 만들어야 합니다 PackageID .

응용 프로그램에서 개체를 삭제 하는 경우 해당 SMS_Program 개체의 알림과 같은 관련 구성 요소가 삭제 될 때까지 삭제 되지 않습니다. 대신 Configuration Manager는 속성을 ActionInProgress 삭제 (3)로 설정 하 여 프로그램을 삭제 하도록 표시 합니다. 쿼리가 삭제 된 것으로 표시 된 프로그램을 검색 하지 않도록 하려면 WHERE 절에이 사례를 추가 합니다.

중요

프로그램이 실행 되는 컬렉션에 대해 유지 관리 기간을 사용 하는 경우 Duration 속성 값이 예약 된 유지 관리 기간 보다 길면 충돌이 발생할 수 있습니다. 이 속성이 알 수 없음으로 설정 되 면 프로그램은 유지 관리 기간 중에 시작 되지만 유지 관리 기간이 종료 된 후에도 완료 되거나 실패할 때까지 계속 실행 됩니다.

Duration이 속성은 다음 두 가지 중요 한 목적으로 사용 되므로 속성을 알 수 없음으로 설정 하지 않는 것이 좋습니다.

  • 프로그램의 결과를 모니터링 합니다.

  • 클라이언트 컴퓨터에 유지 관리 기간이 정의 되어 있을 때 프로그램이 시작 되는지 확인 합니다.

    응용 프로그램에서 속성을 설정 Duration 하지만 프로그램 실행 시간이이 기간을 초과 하는 경우 Configuration Manager 프로그램의 모니터링을 중지 하지만 프로그램을 종료 하지는 않습니다. 이렇게 하면 Configuration Manager 다른 보급 프로그램 실행과 같은 다른 소프트웨어 배포 기능을 계속 사용할 수 있습니다. 관리자는 다음을 수행 하지 않습니다.

  • 프로그램을 중지 합니다.

  • 보급 된 프로그램에 대해 매핑된 드라이브를 모두 해제 합니다.

  • 보급 프로그램에 대해 수행 된 모든 네트워크 연결을 해제 합니다.

  • 보급 프로그램이 실행 중일 때 Configuration Manager에서 사용 하는 사용 가능한 운영 체제 리소스입니다.

    자세한 내용은 유지 관리 기간 정보를 참조 하세요.

요구 사항

런타임 요구 사항

자세한 내용은 Configuration Manager 서버 런타임 요구 사항을 참조하세요.

개발 요구 사항

자세한 내용은 Configuration Manager 서버 개발 요구 사항을 참조하세요.

참고 항목

SMS_Package 서버 WMI 클래스
패키지를 만드는 방법
프로그램을 만드는 방법