SMS_Program 서버 WMI 클래스

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

다음 구문은 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

액세스 유형: 읽기 전용

한정자: [읽기, 열거형]

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

설명
0 없음
1 업데이트
2 추가
3 삭제

WHERE 절에서 이 속성을 사용하여 삭제로 표시되었지만 아직 삭제되지 않은 프로그램을 필터링합니다. 자세한 내용은 이 항목의 뒷부분에 있는 설명 섹션을 참조하세요.

ApplicationHierarchy
데이터 형식: String

액세스 유형: 읽기/쓰기

한정자: 없음

프로그램의 애플리케이션 계층 구조입니다. 기본값은 ""입니다.

CommandLine
데이터 형식: String

액세스 유형: 읽기/쓰기

한정자: 없음

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

Comment
데이터 형식: String

액세스 유형: 읽기/쓰기

한정자: 없음

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

DependentProgram
데이터 형식: String

액세스 유형: 읽기/쓰기

한정자: 없음

이 프로그램을 실행하기 전에 실행해야 하는 프로그램을 정의하는 서식이 지정된 텍스트 문자열입니다. 형식은 PackageID>;<로< 정의됩니다. ProgramName>. 프로그램이 동일한 패키지에 있는 경우 호출 애플리케이션은 단순히 ;를< 지정할 수 있습니다. ProgramName>. 기본값은 ""입니다.

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

Description
데이터 형식: String

액세스 유형: 읽기/쓰기

한정자: 없음

사용되지 않습니다.

DeviceFlags
데이터 형식: UInt32

액세스 유형: 읽기/쓰기

한정자: 없음

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

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

DiskSpaceReq
데이터 형식: String

액세스 유형: 읽기/쓰기

한정자: 없음

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

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

DriveLetter
데이터 형식: String

액세스 유형: 읽기/쓰기

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

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

Duration
데이터 형식: UInt32

액세스 유형: 읽기/쓰기

한정자: 없음

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

참고

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

ExtendedData
데이터 형식: UInt8 배열

액세스 유형: 읽기/쓰기

한정자: [large, lazy]

이미지 배포를 위한 XML Blob입니다.

ExtendedDataSize
데이터 형식: UInt32

액세스 유형: 읽기/쓰기

한정자: [지연]

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

Icon
데이터 형식: UInt8 배열

액세스 유형: 읽기/쓰기

한정자: [large]

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

IconSize
데이터 형식: UInt32

액세스 유형: 읽기/쓰기

한정자: [지연]

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

ISVData
데이터 형식: UInt8 배열

액세스 유형: 읽기/쓰기

한정자: [large, lazy]

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

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

ISVDataSize
데이터 형식: UInt32

액세스 유형: 읽기/쓰기

한정자: [지연]

에 저장된 데이터의 크기(바이트)입니다 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

액세스 유형: 읽기/쓰기

한정자: [비트]

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

참고

프로그래밍 방식으로 사용하는 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) EVERYUSER. 프로그램은 유효한 모든 사용자가 실행해야 합니다. 필수 작업에만 유효합니다.
0x00020000 (17) NOUSERLOGGEDIN. 프로그램은 사용자가 로그온되지 않은 경우에만 실행됩니다.
0x00040000 (18) OKTOQUIT. 프로그램이 컴퓨터를 다시 시작합니다.
0x00080000 (19) OKTOREBOOT. Configuration Manager 프로그램 실행이 성공적으로 완료되면 컴퓨터를 다시 시작합니다.
0x00100000 (20) USEUNCPATH. UNC 경로(드라이브 문자 없음)를 사용하여 배포 지점에 액세스합니다.
0x00200000 (21) PERSISTCONNECTION. DriveLetter 속성에 지정된 드라이브에 대한 연결을 유지합니다. USEUNCPATH 비트 플래그를 설정하면 안 됩니다.
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 배열

액세스 유형: 읽기/쓰기

한정자: [지연]

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

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

TransformAnalysisDate
데이터 형식: DateTime

액세스 유형: 읽기/쓰기

한정자: [없음]

내부 용도로만 사용됩니다.

TransformDtID
데이터 형식: String

액세스 유형: 읽기/쓰기

한정자: [없음]

내부 용도로만 사용됩니다.

TransformReadiness
데이터 형식: UInt32

액세스 유형: 읽기/쓰기

한정자: [없음]

내부 용도로만 사용됩니다.

WorkingDirectory
데이터 형식: String

액세스 유형: 읽기/쓰기

한정자: 없음

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

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

설명

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

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

애플리케이션이 개체를 SMS_Program 삭제하면 해당 보급 알림과 같은 관련 구성 요소가 삭제될 때까지 삭제되지 않습니다. 대신 Configuration Manager 삭제할 프로그램을 표시하기 위해 속성을 DELETE(3)로 설정합니다ActionInProgress. 쿼리가 삭제하도록 표시된 프로그램을 검색하지 않도록 하려면 WHERE 절에 이 사례를 추가합니다.

중요

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

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

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

  • 클라이언트 컴퓨터에서 유지 관리 기간이 정의될 때 프로그램이 시작될지 여부를 확인합니다.

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

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

  • 보급된 프로그램에 매핑된 모든 드라이브를 무료로 사용할 수 있습니다.

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

  • 보급된 프로그램이 실행 중일 때 Configuration Manager 사용하는 무료 운영 체제 리소스입니다.

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

요구 사항

런타임 요구 사항

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

개발 요구 사항

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

참고 항목

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