WMI中的SQL,WQL简明教程系列5:工具,命名空间,路径

的WQL简明教程系列的前四篇文章[ ,  2 ,  3 ,  4 ]完全介绍WQL的各个基本知识,相信对于WMI的WQL的开发来说,这些知识已经足够我们步入WMI的世界,并能准确的驾驭WQL中的各个使用细节了。这些掌控的所有细节,自然只有在实战中进行发挥,才能体现我们学习WMI的WQL的作用。在实际中使用,我们还需要一些辅助的工具来进行开发。WMI的基本知识就像是武功修练中的内功心法,我们练得非常的醇厚,自然可以徒手独步武林,但在我们还没有练到随心所欲,化腐朽为神奇的境界,选择个武器共创天地也不失是个好主意,同样的道理,在全然彻底的了解WMI中的方方面面的时候,工具神码都是浮云,而在我们未能做到这个之前,选择一些工具来帮助我们就显得非常重要了。

由于MitchellChu也是初涉WMI不久,在WMI中的 工具 可能涉及不够全面,因此如果有不正确的地方,请各位不吝赐教。下面是用过的一些工具,以表格方式放出:

工具名称

描述

wbemtest.exe

系统自带的WMI测试器工具,你可以使用这个工具连接到相应的命名空间下进行查询等操作。

dcomcnfg.exe

该功能并非WMI的工具,而是通过该工具能够启动WMI服务(winmgmt)

wmimgmt.msc

wmi配置程序

wmic.exe

wmi命令行工具

WMITools.exe

非系统自带工具,是官方提供的WMI 工具集,安装后,能够提供WMI CIM Studio ,WMI Event Registration,WMI Event Viewer,WMI Object Browser等实用工具。该工具应该说是WMI开发中不可或缺的WMI工具。下载地址为: WMITools.exe 或下载页: download

上面这些工具只能够让我们选择和查看相应的WMI信息,如果需要用程序操作,在系统层面,WSH(Windows Scripts Host)就显得很重要了,WSH提供脚本引擎,一个是wscript.exe,另外一个是cscript.exe,两者都是能够针对.wsh,.vbs,.js进行解析,前者是windows窗口中运行,后者则是在命令行中运行。嗯嗯,偏题了,这是WMI的主题,那么更多的信息可以参见WSH网络上的解释。要说明的意思是,如果你有要操作的,可以用VBSCRIPT或者JScript来编写脚本,并在WSH中使用即可。当然,你还可以在其他程序中使用WMI,比如C++,.NET中,均可用编程的方式使用WQL来调用WMI中的CIM类或实例。

关于WMI命名空间:

WMI命名空间 用于对相同环境中存在的类进行分组,也用于加强安全限制。当请求连接到一个命名空间时会检查用户的权限,这决定命名空间级别的权限。命名空间是一个层次结构,类似文件系统中文件夹的层次结构。

WMI中常见的命名空间:

命名空间

描述

root

所有命名空间均在这个命名空间下,此命名空间只包含WMI系统类,这些类也会在其它命名空间中出现。(WMI系统类是在名称前面有两个下划线("_")组成,可以非常方便的查询)

root\Default

与windows注册表操作有关的主机类 ,读取、写入、枚举、监视、创建、删除注册表项和值。

root\Security

用于与windows安全有关的类

root\CIMV2

包含从CIM Schema派生的类,它们代表着我们最常工作的win32环境。比如:获取系统信息,管理 Windows 事件日志等

root\MicrosoftIISv2

 IIS WMI 提供程序。 .NET下管理 IIS的API在Microsoft.Web.Administration这个命名空间下。

root\RSOP 策略的结果集
root\Policy 组策略
root\directory\ldap Active Directory提供程序

有些朋友在网上找获取硬盘序列号的例子,一找说用WMI可以获取,可是代码中却要连接到root\CIMV2这个命名空间下,就非常不解,怎么要连这个命名空间呢?而好多写代码的也一知半解,不能给出完整的说明。其实这是因为微软将所有涉及到Win32系统的信息都集成在CIMV2的原因。

关于 WMI对象的路径 :

千言万语不及代码一行:

;========================================
; http://blog.useasp.net/
; MitchellChu's Blog
; WMI tutorial
; WMI路径说明
;========================================
\\ComputerName\root\CIMV2:Win32_Account
--------------=----=-----=--------------
|     |       |          |       |- WMI中类名称(区分大小写)
|     |       |          |
|     |       |          |- 命名空间和WMI类名称的分隔符
|     |       |
|     |       |- 命名空间分隔符(主机名称也看作是命名空间理解跟方便)
|     |
|     |- 主机名称,远程的填写名称,本地可以简单的以点(".")代替
|
|- 主机名称前导符,固定用双斜杠表示,如果是本地,可以省略前导符和主机名称

\\ComputerName\ 这个如果是本地可以省略哦...

看明白了吧,\\.\root\CIMV2:Win32_Account这个路径代表的就是Win32_Account类的路径,当然,本地也可以直接root\CIMV2:Win32_Account这样了。

WMI中WQL就说的差不多了,毕竟是简明的基础教程嘛~~ 剩下的要靠自己参悟了哦,欢迎前来交流学习心得。Enjoy it.

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值