博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
VBS进价编程必须学会的WMI介绍
阅读量:7026 次
发布时间:2019-06-28

本文共 1736 字,大约阅读时间需要 5 分钟。

在WMI 体系结构中我们最需要关心的就是WMI提供程序,WMI提供程序在WMI和托管资源之间扮演着中间方的角色。提供程序代表使用者应用程序和脚本从WMI托管资源请求信息,并发送指令到WMI托管资源。下面是我们利用WMI编程经常要用到的WMI内置提供程序清单,以供编程参考。

1.Active Directory提供程序
链接库文件:dsprov.dll  
命名空间:root\directory\ldap  
作用:将Active Directory 对象映射到 WMI。
2.事件日志提供程序
链接库文件:ntevt.dll  
命名空间:root\cimv2  
作用:管理 Windows 事件日志,例如,读取、备份、清除、复制、删除、监视、重命名、压缩、解压缩和更改事件日志设置。
3.注册表提供程序
链接库文件:stdprov.dll  
命名空间:root\default  
作用:读取、写入、枚举、监视、创建、删除注册表项和值。
4.Win32 提供程序
链接库文件:cimwin32.dll  
命名空间:root\cimv2  
作用:提供关于计算机、磁盘、外围设备、文件、文件夹、文件系统、网络组件、操作系统、打印机、进程、安全性、服务、共享、SAM 用户及组,以及更多资源的信息。
5.Windows 安装程序提供程序
链接库文件:msiprov.dll  
命名空间:root\cimv2  
作用:提供对已安装软件信息的访问。
从上面可以看出在WMI中类(即内置提供程序,微软发布的服务软件一般都有对应的这些提供程序)被分组到命名空间中,命名空间可以看成是一个组。比如,命名空间 root\cimv2 包括大部分表示通常与计算机和操作系统相关联的资源的类。在使用类的时候要说明类所在的命名空间。类由属性和方法构成。这是可视化编程中的两个重要的概念。属性描述的是对象的状态,方法是对象可以执行的操作。

WQL

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,条件可以添加and or等关系操作。

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

Select * From Win32_LogicalDisk where drivetype=3    ’‘’‘查询所有硬盘分区

SELECT * FROM Win32_share  ’‘查询所有共享目录
SELECT * FROM Win32_NetworkAdapterConfiguration WHERE DHCPEnabled=TRUE
SELECT Description FROM Win32_Account WHERE Name='Administrator'
SELECT Freespace,DeviceID FROM Win32_LogicalDisk

在WinXP和Win2003中有一个自带的WQL测试工具,叫wbemtest.exe[windows的system32\wbem目录下],这个工具可以查看机器上的安装情况和WMI接口的参数等信息。

MSDN上下载的WMITools.exe工具组也很有用,可以参考.

 

 

*****************************************************************************

本文转自hcy's workbench博客园博客,原文链接:http://www.cnblogs.com/alterhu/archive/2012/04/07/2435925.html
,如需转载请自行联系原作者。
你可能感兴趣的文章
python property 学习
查看>>
perl file find
查看>>
jQuery方法position()与offset()区别
查看>>
Flume特点
查看>>
队列 句子分析 精辟的诠释 有图片
查看>>
在switch的default代码块中增加AssertionError错误
查看>>
JS:1.3,函数(function)
查看>>
Ubuntu下升级Git以及获取ssh keys的代码
查看>>
WebApi系列~开放的CORS,跨域资源访问对所有人开放
查看>>
在C#代码中应用Log4Net(一)简单使用Log4Net
查看>>
第 7 章 Gnu Gatekeeper
查看>>
java用while循环设计轮询线程的性能问题
查看>>
webservice 测试窗体只能用于来自本地计算机的请求
查看>>
14.9. 桌面支持
查看>>
部署Linux下的man慢查询中文帮助手册环境
查看>>
在VM重启之后,重新打开HANAStudio总是报用户名错误的解决方法
查看>>
算法分析实验题集
查看>>
模拟退火算法
查看>>
让WordPress主题支持语言本地化(使用poedit软件实现中文翻译功能)
查看>>
sql语句or与union all的执行效率比较
查看>>