명령 및 WQL(WMI Query Language)을 사용하여 인스턴스 쿼리

완료됨

쿼리하려는 클래스를 식별한 후에는 Windows PowerShell을 사용하여 해당 클래스의 특정 인스턴스를 검색할 수 있습니다. 예를 들어 root\CIMv2 네임스페이스에서 Win32_LogicalDisk 클래스의 모든 인스턴스를 검색하려면 다음 명령 중 하나를 실행합니다.

Get-WmiObject -Class Win32_LogicalDisk
Get-CimInstance -ClassName Win32_LogicalDisk

참고

이러한 명령의 출력은 형식이 다르게 지정되지만 동일한 정보를 포함합니다.

참고

Get-CimInstance를 사용하는 경우 클래스 이름에 탭 완성을 사용할 수 있습니다. Get-WmiObject에서는 이 작업을 수행할 수 없습니다.

Get-WmiObject-Class 매개 변수와 Get-CimInstance-ClassName 매개 변수는 모두 위치와 관련됩니다. 위치 매개 변수의 이름은 지정할 필요가 없습니다. 따라서 다음 두 명령은 동일한 결과를 제공합니다.

Get-WmiObject Win32_LogicalDisk
Get-CimInstance Win32_LogicalDisk

인스턴스 필터링

기본적으로 두 명령은 지정된 클래스의 사용 가능한 모든 인스턴스를 검색합니다. 필터 조건을 지정하여 더 작은 인스턴스 세트를 검색할 수 있습니다. 이러한 명령에서 사용하는 필터 언어는 Windows PowerShell 비교 연산자를 사용하지 않습니다. 대신 다음 표에 나열된 대로 기존 프로그래밍 연산자를 사용합니다.

표 1: 프로그래밍 연산자

비교 WMI 및 CIM 연산자 Windows PowerShell 연산자
같음 = -eq
같지 않음 <> -ne
보다 큼 > -gt
보다 작음 < -lt
보다 작거나 같음 <= -le
보다 크거나 같음 >= -ge
와일드카드 문자열 일치 LIKE(와일드카드로 % 사용) -like(와일드카드로 ***** 사용)
둘 이상의 조건이 true여야 함 -and
둘 이상의 조건 중 하나가 true여야 함 OR -or

예를 들어 DriveType 속성이 3Win32_LogicalDisk 인스턴스만 검색하려면 다음 명령 중 하나를 실행합니다.

Get-WmiObject -Class Win32_LogicalDisk -Filter "DriveType=3"
Get-CimInstance -ClassName Win32_LogicalDisk -Filter "DriveType=3"

참고

많은 클래스 속성이 정수를 사용하여 다양한 종류의 항목을 나타냅니다. 예를 들어 Win32_LogicalDisk 클래스에서 DriveType 속성 3은 로컬 고정 디스크를 나타냅니다. 값 5는 DVD 드라이브와 같은 광학 디스크를 나타냅니다. 각 값이 무엇을 나타내는지 알아보려면 클래스 설명서를 검토해야 합니다.

WQL을 사용하여 쿼리

WMI와 CIM 모두 WQL(WMI 쿼리 언어)로 작성된 쿼리 문을 수락합니다. WQL은 WMI 쿼리와 관련된 SQL(구조적 쿼리 언어)의 하위 집합입니다. 형식은 매우 직관적이므로 비교적 간단하게 작성할 수 있습니다. 예를 들어 다음 쿼리는 이전에 설명한 Win32_LogicalDisk 클래스의 특정 인스턴스를 검색하는 명령과 동일합니다.

Get-WmiObject -Query "SELECT * FROM Win32_LogicalDisk WHERE DriveType = 3"
Get-CimInstance -Query "SELECT * FROM Win32_LogicalDisk WHERE DriveType = 3"

추가 자료: WQL에 대한 자세한 내용은 WQL(WMI용 SQL)을 참조하세요.