快捷搜索:  as  1111

.net中的WMI编程(二):WMI中的WQL语言和WQL的测试

本日临晨本人写了一篇有关.net中WMI编程的入门文章,名字是《.net中的WMI编程(一):WMI先容及简单利用》,假如你对WMI还不太认识,请先涉猎那一篇,以便有个大年夜概的印象。

昨天给大年夜家展示的例子都对照简单(我小我感觉),不过照样有不少同伙私底下问我为什么有些语句必要那么写,还有人问我怎么知道那样写,以及怎么知道查询结果中会有那些字段名(既然叫WQL,我就称之为字段了)。以是我感觉有需要先容一下WMI中的查询说话了。

WQL便是WMI中的查询说话,WQL的全称是WMI Query Language,简称为WQL,翻译成中文似乎可以成为Windows治理规范查询说话。认识SQL说话的同伙会感到它和SQL异常相似。

WQL着实异常简单,它有如下特征:

1、每个WQL语句必须以SELECT开始;

2、SELECT后跟你必要查询的属性名(我刚才对应SQL将其称之为字段名了),也可以像SQL一样,以*表示返回所有属性值;

3、FROM关键字;

4、你要查询的类的名字;

5、别的,假如你想正确查询结果还可以加上WHERE前提从句。比如某个类有Enable属性,你可以在查询的时刻加上WHERE ENABLE=true。

如以下的都是精确的WQL语句:

Select*FromWin32_LogicalDiskwheredrivetype=3  ’‘’‘查询所有硬盘分区

SELECT*FROMWin32_share ’‘查询所有共享目录

SELECT*FROMWin32_NetworkAdapterConfigurationWHEREDHCPEnabled=TRUE

SELECTDescriptionFROMWin32_AccountWHEREName='Administrator'

SELECTFreespace,DeviceIDFROMWin32_LogicalDisk

在WinXP和Win2003中有一个自带的WQL测试对象,叫wbemtest.exe,用它就能查看有哪些类和类有哪些 属性,应用措施如下:

首先,运行wbemtest.exe,如下图:

点“确定”之后会呈现一个“Windows治理规范测试器”的窗口,如下图:

点击“连接”会呈现一个对话框,我们可以选择连接本地主机或者远程主机,如下图:

假如是本机测试并且是用治理员身份登录,可以不用填写用户名和密码,假如是链接远程主机则必要填写远程主机上的用户名和密码(建议应用远程主机上的治理员身份登录),点击“连接”之后就会回到主界面。留意,只有登录之后才能查看和查询。

点击“查询”按钮,输入我们要查询的WQL语句,如"Select * From Win32_LogicalDisk",这是查询系统逻辑驱动器的WQL语句,如图:

这是我们多数会获得一个号码为"0x80041010" ,描述为"无效种别"的差错,如下图:

您可能还会对下面的文章感兴趣: