about_WMI
간단한 설명
WMI(Windows Management Instrumentation)는 CIM(공용 정보 모델)을 사용하여 최신 엔터프라이즈의 시스템, 애플리케이션, 네트워크, 디바이스 및 기타 관리 가능한 구성 요소를 나타냅니다.
자세한 설명
WMI(Windows Management Instrumentation)는 Microsoft에서 업계 표준인 WBEM(웹 기반 엔터프라이즈 관리)을 구현한 것입니다.
클래식 WMI는 DCOM을 사용하여 네트워크 디바이스와 통신하여 원격 시스템을 관리합니다. Windows PowerShell 3.0에는 WinRM을 사용하여 DCOM에 대한 종속성을 제거하는 CIM 공급자 모델이 도입되었습니다. 또한 이 CIM 공급자 모델은 개발자가 네이티브 코드(C++)로 Windows PowerShell cmdlet을 작성할 수 있도록 하는 새로운 WMI 공급자 API를 사용합니다.
WMI 공급자와 Windows PowerShell 공급자를 혼동하지 마세요. 많은 Windows 기능에는 관리 기능을 노출하는 연결된 WMI 공급자가 있습니다. WMI 공급자를 가져오려면 다음 쿼리와 같이 __Provider WMI 클래스의 인스턴스를 가져오는 WMI 쿼리를 실행합니다.
Get-WmiObject -Class __Provider
WMI의 세 가지 구성 요소
WMI의 다음 세 가지 구성 요소는 Windows PowerShell과 상호 작용합니다. 네임스페이스, 공급자 및 클래스.
WMI 네임스페이스는 WMI 공급자 및 WMI 클래스를 관련 구성 요소 그룹으로 구성합니다. 이러한 방식으로 .NET Framework 네임스페이스와 비슷합니다.
네임스페이스는 물리적 위치가 아니지만 논리 데이터베이스와 비슷합니다. 모든 WMI 네임스페이스는 __Namespace 시스템 클래스의 인스턴스입니다. 기본 WMI 네임스페이스는 root/cimv2
(Microsoft Windows 2000 이후) Windows PowerShell을 사용하여 현재 세션에서 WMI 네임스페이스를 얻으려면 다음 형식의 명령을 사용합니다.
Get-WmiObject -Class __Namespace
다른 네임스페이스에서 WMI 네임스페이스를 얻으려면 네임스페이스 매개 변수를 사용하여 검색 위치를 변경합니다. 다음 명령은 네임스페이스에 있는 root/cimv2/Applications
WMI 네임스페이스를 찾습니다.
Get-WmiObject -Class __Namespace -Namespace root/cimv2/applications
WMI 네임스페이스는 계층적입니다. 따라서 특정 시스템의 모든 네임스페이스 목록을 가져오려면 루트 네임스페이스에서 시작하는 재귀 쿼리를 수행해야 합니다.
WMI 공급자는 Windows 관리 가능한 개체에 대한 정보를 노출합니다. 공급자는 구성 요소에서 데이터를 검색하고 WMI를 통해 Windows PowerShell과 같은 관리 애플리케이션에 해당 데이터를 전달합니다. 대부분의 WMI 공급자는 동적 공급자입니다. 즉, 관리 애플리케이션을 통해 요청되면 동적으로 데이터를 가져옵니다.
WMI 클래스 찾기
Windows 8의 기본 설치에는 1,100개 이상의 WMI 클래스가 있습니다 root/cimv2
. 이 많은 WMI 클래스를 사용하면 특정 작업을 수행하는 데 사용할 적절한 WMI 클래스를 식별해야 합니다. Windows PowerShell 3.0은 특정 항목과 관련된 WMI 클래스를 찾는 두 가지 방법을 제공합니다.
예를 들어 디스크와 root/cimv2
관련된 WMI 네임스페이스에서 WMI 클래스를 찾으려면 여기에 표시된 것과 같은 쿼리를 사용할 수 있습니다.
Get-WmiObject -List *disk*
메모리와 관련된 WMI 클래스를 찾으려면 여기에 표시된 것과 같은 쿼리를 사용할 수 있습니다.
Get-WmiObject -List *memory*
또한 CIM cmdlet은 WMI 클래스를 검색하는 기능을 제공합니다. 이렇게 하려면 cmdlet을 Get-CimClass
사용합니다. 여기에 표시된 명령은 비디오와 관련된 WMI 클래스를 나열합니다.
Get-CimClass *video*
탭 확장은 WMI 네임스페이스를 변경할 때 작동하므로 탭 확장을 사용하면 하위 WMI 네임스페이스를 쉽게 검색할 수 있습니다. 다음 예제에서 cmdlet은 Get-CimClass
전원 설정과 관련된 WMI 클래스를 나열합니다.
찾으려면 네임스페이 root/cimv2
스를 입력한 다음 전원 네임스페이스가 나타날 때까지 Tab 키를 여러 번 누릅니다. 명령은 다음과 같습니다.
Get-CimClass *power* -Namespace root/cimv2/power
PowerShell