about_WMI

업데이트 날짜: 2014년 5월

적용 대상: Windows PowerShell 2.0, Windows PowerShell 3.0, Windows PowerShell 4.0, Windows PowerShell 5.0

항목

about_WMI

간단한 설명

WMI(Windows Management Instrumentation)에서는 CIM(Common Information Model)을 사용하여 현대적인 기업에서 시스템, 응용 프로그램, 네트워크 장치 및 기타 관리 가능한 구성 요소를 나타냅니다.

자세한 설명

WMI(Windows Management Instrumentation)는 산업 표준 WBEM(Web-Based Enterprise Management)의 Microsoft 구현입니다.

클래식 WMI에서는 네트워크 장치와 통신하는 데 DCOM을 사용하여 원격 시스템을 관리합니다. Windows PowerShell®3.0에서는 WinRM을 사용하여 DCOM에 대한 종속성을 제거하는 CIM 공급자 모델을 소개합니다. 이 CIM 공급자 모델의 새 WMI 공급자 API를 사용하면 개발자가 Windows PowerShell cmdlet을 네이티브 코드(C++)로 작성할 수 있습니다.

WMI 공급자를 Windows PowerShell 공급자와 혼동하지 마세요. 다양한 Windows 기능에는 관리 기능을 노출하는 연결된 WMI 공급자가 있습니다. WMI 공급자를 가져오려면 다음 쿼리와 같이 __Provider WMI 클래스의 인스턴스를 가져오는 WMI 쿼리를 실행합니다.

        Get-WmiObject -Class __Provider

WMI의 세 가지 구성 요소

WMI의 네임스페이스, 공급자 및 클래스 구성 요소는 Windows PowerShell과 상호 작용합니다.

WMI 네임스페이스는 WMI 공급자와 WMI 클래스를 관련 구성 요소 그룹으로 구성합니다. 이와 같이 WMI 네임스페이스는 .NET Framework 네임스페이스와 비슷합니다. 네임스페이스는 실제 위치가 아니라 논리 데이터베이스와 더 비슷합니다. 모든 WMI 네임스페이스는 __Namespace 시스템 클래스의 인스턴스입니다. 기본 WMI 네임스페이스는 Root/CIMV2(Microsoft Windows 2000 이후)입니다. Windows PowerShell을 사용하여 현재 세션에서 WMI 네임스페이스를 가져오려면 명령을 다음 형식으로 사용합니다.

        Get-WmiObject -Class __Namespace

다른 네임스페이스의 WMI 네임스페이스를 가져오려면 Namespace 매개 변수를 사용하여 검색 위치를 변경합니다. 다음 명령은 Root/Cimv2/Applications 네임스페이스에 있는 WMI 네임스페이스를 찾습니다.

        Get-WmiObject -Class __Namespace -Namespace 
        root/CIMv2/applications

WMI 네임스페이스는 계층적입니다. 따라서 특정 시스템에 있는 모든 네임스페이스 목록을 가져오려면 root 네임스페이스에서 시작되는 재귀 쿼리를 수행해야 합니다.

WMI 공급자는 Windows 관리 가능한 개체에 대한 정보를 노출합니다. 공급자는 구성 요소에서 데이터를 검색하고 WMI를 통해 해당 데이터를 Windows PowerShell 등의 관리 응용 프로그램에 전달합니다. 대부분 WMI 공급자는 데이터가 관리 응용 프로그램을 통해 요청될 때 데이터를 동적으로 가져오는 동적 공급자입니다.

WMI 클래스 찾기

Windows 8의 기본 설치에서 Root/Cimv2에는 1,100개가 넘는 WMI 클래스가 있습니다. 이런 대부분 WMI 클래스에서는 특정 작업을 수행하는 데 사용할 적절한 WMI 클래스를 식별해야 합니다. Windows PowerShell 3.0에서는 특정 항목과 관련된 WMI 클래스를 찾는 두 가지 방법을 제공합니다.

예를 들어 디스크와 관련된 root\CIMV2 WMI 네임스페이스에서 WMI 클래스를 찾으려면 여기 표시된 것과 같은 쿼리를 사용할 수 있습니다.

        Get-WmiObject -List *disk*

메모리와 관련된 WMI 클래스를 찾으려면 여기 표시된 것과 같은 쿼리를 사용할 수 있습니다.

        Get-WmiObject -List *memory*

CIM cmdlet은 WMI 클래스를 검색하는 기능도 제공합니다. 이 작업을 하려면 Get-CIMClass cmdlet을 사용합니다. 여기 표시된 명령은 비디오와 관련된 WMI 클래스를 나열합니다.

        Get-CimClass *video*

탭 확장은 WMI 네임스페이스를 변경할 때 작동하므로 탭 확장을 사용하면 하위 WMI 네임스페이스를 쉽게 검색할 수 있습니다. 다음 예제에서는 Get-CimClass cmdlet이 전원 설정과 관련된 WMI 클래스를 나열합니다. 이 클래스를 찾으려면 root/CIMV2/ WMI 네임스페이스를 입력하고 power 네임스페이스가 나타날 때까지 Tab 키를 여러 번 누릅니다. 명령은 다음과 같습니다.

        Get-CimClass *power* -Namespace root/cimv2/power