WMI_03_WQL的使用说明
1.WQL语句描述
- 每个WQL语句必须以SELECT开始
- SELECT 后跟需要查询的属性名,*表示返回所有属性值
- FROM关键字
- 加上要查询的类的名字
- 可以加WHERE条件从句,
2.WQL语法
2.1 语法
SELECT properties[,properties] FROM class [where clause]
2.2 参数
- SELECT 必选项。代表WQL语句的开始,
- properties 必选项。代表想查询的属性名字。可以是多个属性名,也可查询所有属性值,用*代替。
- FROM 必选项。跟在properties的后面。
- Class 必选项。代表想要查询的类的名称。
- where clause 可选项。where 从句和相关条件语句,用来缩小查询范围
2.3 逻辑运算符
- AND运算符,连接两个逻辑运算,当同时满足条件时通过
- OR运算符,连接两个逻辑运算符,当至少一个满足条件时通过
SELECT * FROM Win32_LogicalDisk WHERE (DriveType = 2) OR (DriveType = 3 AND FreeSpace < 1000000)
2.4 比较运算
符号 | 含义 |
---|---|
= | 等于 |
> | 大于 |
< | 小于 |
<= | 小于等于 |
>= | 大于等于 |
<> 或 != | 不等于 |
Is [not] | [不]是,这个参数仅仅用于比较NULL的时候 |
SELECT * FROM Win32_LogicalDisk WHERE FileSystem IS NULL //有效的查询
SELECT * FROM Win32_LogicalDisk WHERE FileSystem IS NOT "NTFS" //无效的查询
SELECT * FROM Win32_LogicalDisk WHERE DriveType IS 5 //无效的查询
SELECT * FROM Win32_LogicalDisk WHERE DriveType = 5 //有效的查询
2.5 Like运算符
模糊匹配查询的条件
2.5.1.“%”:代表一个或者多个字符
例子:%ell%,可代表“hello”,“dell”,“ell”。
2.5.2. “[ ]”:返回参数范围
例子:“[A-Z]ars”可代替“Mars”,“Wars”,但是不能代表“Srars”。
2.5.3. “^”:取范围的反面
例子:“[^A-M]ars”可代替“Wars”和“Tars”,但是不能代替“Mars”因为“M”不再指定范围内。
2.5.4. “_”:代替单个字符
例子:“M_rs”可代替“Mars”, “M3rs”。
2.6. 判断运算
有的类的属性只有TRUE和FALSE两种状态,这个时候可以使用TRUE和FALSE来判断,记住这个时候不能使用is TRUE来判断,因为他只适用于判断NULL。
例子
SELECT * FROM Win32_NetworkAdapterConfiguration WHERE DHCPEnabled = TRUE
2.7. 相关查询
2.7.1 描述
检索与指定内容相关的所有实例并且返回查询结果
2.7.2 语法
ASSOCIATORS OF
2.7.3 参数
ASSOCIATORS OF {描述}
2.7.4 例子
Query:
ASSOCIATORS OF {Win32_LogicalDisk.DeviceID="C:"}
Results:
Win32_Directory.Name="C:\\"
Win32_ComputerSystem.Name="DESKTOP-UL0DEKG"
Win32_DiskPartition.DeviceID="Disk #0, Partition #1"