WMI 쿼리
WMI(Windows Management Instrumentation)의 주요 도구 중 하나는 WMI 리포지토리에서 클래스 및 인스턴스 정보를 쿼리하는 기능입니다. 예를 들어, WMI가 데스크톱 시스템에서 종료 이벤트를 나타내는 모든 개체를 반환할 것을 요청할 수 있습니다. 클래스, 인스턴스 또는 스키마 데이터를 검색할 수도 있습니다. 다음 표에는 수행할 수 있는 다양한 쿼리 유형이 나열되어 있습니다.
항목 | 설명 |
---|---|
동기 쿼리 호출 | 쿼리 프로세스 전체에서 WMI와의 링크를 유지하는 방법을 설명합니다. 동기 쿼리는 로컬 시스템에 대한 쿼리 또는 작은 쿼리에 적합합니다. |
비동기 쿼리 호출 | 쿼리를 수신하도록 별도의 프로세스를 설정하는 방법을 설명합니다. 비동기 쿼리는 더 복잡하며 보안 수준이 낮지만 일반적으로 시스템 성능을 향상시킵니다. |
WMI 리포지토리를 쿼리하는 것 외에도 WQL(WMI 쿼리 언어) 을 사용하여 알림 이벤트를 애플리케이션으로 라우팅할 수도 있습니다. 자세한 내용은 WMI 이벤트 수신을 참조하세요.
참고
WMI를 올바르게 쿼리하려면 WQL을 잘 이해해야 합니다. 올바르지 않거나 너무 복잡하거나 부적절한 쿼리로 인해 쿼리 프로세서가 오류 또는 예기치 않은 결과를 반환할 수 있습니다. WQL에 대한 포괄적인 가이드는 WQL을 사용하여 쿼리를 참조하세요.
WQL 쿼리에 사용할 수 있는 AND 및 OR 키워드의 수에는 제한이 있습니다. 복잡한 쿼리에 사용되는 WQL 키워드가 많으면 WMI가 WBEM_E_QUOTA_VIOLATION 오류 코드를 HRESULT 값으로 반환할 수 있습니다. WQL 키워드의 제한은 쿼리가 얼마나 복잡한지에 따라 달라집니다.
VBScript와 같은 스크립팅 언어에서 uint64 또는 sint64 데이터 형식의 속성 값을 쿼리할 때 WMI는 문자열 값을 반환합니다. 문자열을 비교하면 숫자 비교와 다른 결과가 반환되므로 이러한 값을 비교할 때 예기치 않은 결과가 발생할 수 있습니다. 예를 들어, 문자열을 비교할 때 "10000000000"은 "9"보다 작고, 숫자를 비교할 때는 9가 10000000000보다 작습니다. 혼동을 방지하려면 WMI에서 uint64 또는 sint64 형식의 속성을 검색할 때 VBScript에서 CDbl 메서드를 사용해야 합니다.
참고
자세한 내용은 클래스 및 인스턴스 정보 조작을 참조하세요.