WMI 시스템 속성

WMI(Windows Management Instrumentation)는 모든 클래스와 클래스의 인스턴스에 연결된 시스템 속성 집합을 정의합니다. 시스템 클래스와 마찬가지로 시스템 속성 이름은 이중 밑줄로 시작하여 단일 또는 이중 밑줄로 시작하면 안 되는 애플리케이션이나 공급자가 만든 속성과 구분됩니다. 시스템 속성을 식별하는 또 다른 방법은 IWbemClassObject::Get 메서드를 사용하는 것입니다.

시스템 속성은 언제든지 사용할 수 있지만 값이 NULL일 수 있습니다. NULL은 속성이 특정 개체에 적용되지 않음을 나타냅니다. 하지만 시스템 속성을 모든 클래스나 인스턴스에 항상 사용할 수 있는 것은 아닙니다.

시스템 속성

다음 목록은 WMI 시스템 속성을 설명합니다. 주어진 예제는 이 항목의 맨 아래에 설명된 Win32_OptionalFeature 클래스의 시스템 속성에서 가져온 것입니다.

__Class

데이터 형식: CIM_STRING

액세스 유형: 인스턴스는 읽기 전용, 클래스는 읽기/쓰기

클래스의 이름입니다.

예: Win32_OptionalFeature

__Derivation

데이터 형식: CIM_STRING 배열

액세스 유형: 인스턴스와 클래스 모두 읽기 전용

현재 클래스 또는 인스턴스의 클래스 계층 구조입니다. 첫 번째 요소는 직계 부모 클래스이고, 다음은 부모이며, 마지막 요소는 기본 클래스입니다.

예: {CIM_LogicalElement, CIM_ManagedSystemElement}

__Dynasty

데이터 형식: CIM_STRING

액세스 형식: 읽기 전용

클래스 또는 인스턴스가 파생되는 최상위 클래스의 이름입니다. 이 클래스 또는 인스턴스가 최상위 클래스인 경우 __Dynasty 값과 __Class 값은 동일합니다.

예: CIM_ManagedSystemElement

__Genus

데이터 형식: CIM_SINT32

액세스 형식: 읽기 전용

클래스와 인스턴스를 구분하는 데 사용되는 값입니다. 이 값은 클래스의 경우 WBEM_GENUS_CLASS (1), 인스턴스 및 이벤트의 경우 WBEM_GENUS_INSTANCE (2)입니다.

예: 2

__Namespace

데이터 형식: CIM_STRING

액세스 형식: 읽기 전용

클래스 또는 인스턴스의 네임스페이스 이름입니다.

예: root\cimv2

__Path

데이터 형식: CIM_STRING

액세스 형식: 읽기 전용

서버 및 네임스페이스를 포함한 클래스 또는 인스턴스의 전체 경로입니다.

예: \\MyServer\root\cimv2:Win32_OptionalFeature.Name="TelnetClient"

__Property_Count

데이터 형식: CIM_SINT32

액세스 형식: 읽기 전용

클래스 또는 인스턴스에 대해 정의된 비시스템 속성의 수입니다.

예제: 6

__Relpath

데이터 형식: CIM_STRING

액세스 형식: 읽기 전용

클래스 또는 인스턴스의 상대 경로입니다.

예: Win32_OptionalFeature.Name="TelnetClient"

__Server

데이터 형식: CIM_STRING

액세스 형식: 읽기 전용

클래스 또는 인스턴스를 제공하는 서버의 이름입니다.

예: MyServer

__Superclass

데이터 형식: CIM_STRING

액세스 형식: 읽기 전용

클래스 또는 인스턴스의 직계 부모 클래스의 이름입니다.

예: CIM_LogicalElement

다음 PowerShell 코드는 시스템 속성을 포함하는 Win32_OptionalFeature 클래스의 속성을 검색합니다.

Get-WmiObject win32_OptionalFeature | Where-Object {$_.name -eq "TelnetClient"}

앞의 코드 샘플은 다음을 반환합니다.

__GENUS          : 2
__CLASS          : Win32_OptionalFeature
__SUPERCLASS     : CIM_LogicalElement
__DYNASTY        : CIM_ManagedSystemElement
__RELPATH        : Win32_OptionalFeature.Name="TelnetClient"
__PROPERTY_COUNT : 6
__DERIVATION     : {CIM_LogicalElement, CIM_ManagedSystemElement}
__SERVER         : myServer
__NAMESPACE      : root\cimv2
__PATH           : \\myServer\root\cimv2:Win32_OptionalFeature.Name="TelnetClient"
Caption          : Telnet Client
Description      : 
InstallDate      : 
InstallState     : 2
Name             : TelnetClient
Status           : 
PSComputerName   : myServer