WMI 쿼리

WMI(Windows Management Instrumentation)의 주요 도구 중 하나는 WMI 리포지토리에서 클래스 및 인스턴스 정보를 쿼리하는 기능입니다. 예를 들어, WMI가 데스크톱 시스템에서 종료 이벤트를 나타내는 모든 개체를 반환할 것을 요청할 수 있습니다. 클래스, 인스턴스 또는 스키마 데이터를 검색할 수도 있습니다. 다음 표에는 수행할 수 있는 다양한 쿼리 유형이 나열되어 있습니다.

항목 설명
동기 쿼리 호출 쿼리 프로세스 전체에서 WMI와의 링크를 유지하는 방법을 설명합니다. 동기 쿼리는 로컬 시스템에 대한 쿼리 또는 작은 쿼리에 적합합니다.
비동기 쿼리 호출 쿼리를 수신하도록 별도의 프로세스를 설정하는 방법을 설명합니다. 비동기 쿼리는 더 복잡하며 보안 수준이 낮지만 일반적으로 시스템 성능을 향상시킵니다.

WMI 리포지토리를 쿼리하는 것 외에도 WQL(WMI 쿼리 언어) 을 사용하여 알림 이벤트를 애플리케이션으로 라우팅할 수도 있습니다. 자세한 내용은 WMI 이벤트 수신을 참조하세요.

참고

WMI를 올바르게 쿼리하려면 WQL을 잘 이해해야 합니다. 올바르지 않거나 너무 복잡하거나 부적절한 쿼리로 인해 쿼리 프로세서가 오류 또는 예기치 않은 결과를 반환할 수 있습니다. WQL에 대한 포괄적인 가이드는 WQL을 사용하여 쿼리를 참조하세요.

WQL 쿼리에 사용할 수 있는 ANDOR 키워드의 수에는 제한이 있습니다. 복잡한 쿼리에 사용되는 WQL 키워드가 많으면 WMI가 WBEM_E_QUOTA_VIOLATION 오류 코드를 HRESULT 값으로 반환할 수 있습니다. WQL 키워드의 제한은 쿼리가 얼마나 복잡한지에 따라 달라집니다.

VBScript와 같은 스크립팅 언어에서 uint64 또는 sint64 데이터 형식의 속성 값을 쿼리할 때 WMI는 문자열 값을 반환합니다. 문자열을 비교하면 숫자 비교와 다른 결과가 반환되므로 이러한 값을 비교할 때 예기치 않은 결과가 발생할 수 있습니다. 예를 들어, 문자열을 비교할 때 "10000000000"은 "9"보다 작고, 숫자를 비교할 때는 9가 10000000000보다 작습니다. 혼동을 방지하려면 WMI에서 uint64 또는 sint64 형식의 속성을 검색할 때 VBScript에서 CDbl 메서드를 사용해야 합니다.

참고

자세한 내용은 클래스 및 인스턴스 정보 조작을 참조하세요.