查询 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 方法。
注意
有关详细信息,请参阅操作类和实例信息。