查询 WMI

Windows Management Instrumentation (WMI) 的主要功能之一是能够查询 WMI 存储库以获取类和实例信息。 例如,可以请求 WMI 从桌面系统返回表示关闭事件的所有对象。 还可以检索类、实例或架构数据。 下表列出了可以进行的不同类型的查询。

主题 说明
调用同步查询 介绍如何在整个查询过程中维护与 WMI 的链接。 同步查询适用于小型查询或对本地系统的查询。
调用异步查询 介绍如何设置单独的进程来接收查询。 异步查询更为复杂且提供的安全级别较低,但通常会提高系统性能。

除了查询 WMI 存储库之外,还可以使用 WMI 查询语言 (WQL) 将通知事件路由到应用程序。 有关详细信息,请参阅接收 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 方法。

注意

有关详细信息,请参阅操作类和实例信息