如何正确查询WMI对象

时间:2019-08-09 07:47:06

标签: wmi wql

所以我对WMI还是陌生的,我想知道是否有人有一些好的书籍/文本可以阅读,但是更具体地说是如何正确查询WMI。我正在开发一个需要获取许多WMI对象的程序,但我只是不太了解查询中的细微差别以及它们的工作原理(请注意,我以前从未使用过SQL)。抱歉,这个问题很奇怪/范围太广...

我不太了解其区别/概念的查询示例是:

SELECT * FROM meta_class WHERE __class= 'Win32_NetworkAdapter'
SELECT * FROM Win32_NetworkAdapter

感谢您抽出宝贵的时间阅读本...

1 个答案:

答案 0 :(得分:2)

WQL(和SQL)包含3个主要部分(请注意,只有SELECT和FROM是必需的。

  • 选择-选择内容
  • FROM -从何处选择
  • 位置-我们无法使用的过滤器(=,<=,<>(不等于)等)

我将Win32_Process上课的一些例子

  1. SELECT * FROM Win32_Process =>获取名为Win32_Process的WMI类的所有实例
  2. 从Win32_Process中选择* WHERE ProcessId = 608 =>与1相同,但是将返回进程ID等于608的Win32_Process实例。
  3. 从Win32_Service中选择*,其中Name>“ M” And Name <“ O” =>返回其名称大于“ M”或小于“ O”的所有Win32_Service实例。