VBS学习日记(十) WMI 基础

来源:互联网 发布:qq飞车改装数据最高 编辑:程序博客网 时间:2024/06/05 00:16

Vbs 脚本编程简明教程—WMI 基础之一

WMI 即 Windows 管理规范,是用户管理本地和远程计算机的一种模型。通过它可以访问、配置、管理和监视几乎所有的 Windows 资源。WMI 的语法十分简单,基本上常见的命名空间、对象等用几乎一模一样。它对应的是 Windows 里的 WMI 服务(winmgmt)。更多详细信息,参见百度百科

一、WMI 的命名空间

那么命名空间是做什么作用的呢?我简单这样说,在同一段代码中,如果有两个变量或函数的名字完全相同,就会出现冲突。命名空间就是为解决变量、函数的命名冲突而服务的。解决的办法就是将你的变量定义在一个不同名字的命名空间中。就好像财政局有个张三,公安局也有个张三,但我们清楚,就是因为他们分属不同的单位。有些地方可能不太准确,但大致意思就是这样了。

WMI 的命名空间创建了一个层次结构,有点类似于我们的目录文件结构。

1、 root- 作为所有其他名字的占位符;
2、 root\default-与注册表操作有关的类;
3、 root\security-与系统安全有关的类;
4、 root\cimv2-从 CIM 派生的类,代表我们最常用的工作环境。

二、WMI的对象路径

WMI 的对象路径用来在 CIM 库中定位类和它的事例,对象路径用两个反斜杠\\ 开头,第一个元素是目标计算机的名字,第二个元素是相应的 WMI 命名空间,第三个元素是相应的类名,并用 : 将它与命名空间分隔开来。例如:\\..\root\cimv2:win32_service其中那个 . 代表是本地系统。

三、WMI 的查询语言——WQL 仅仅是 ANSI SQL 的一个子集,只能用于数据的提取。

数据、事件查询的基本语法为:
Select pro1 , pro2 , pro3 from myclass(myclassevent )
例如:Select name , path from Win32_share 说明:列出所有共享的名称和路径
也可以使用通配符 * ,例如:Select * from Win32_share
关键字 Where 用于限定查询的范围。
例如:Select * from Win32_share where name=”Admin ”

四、WMI 脚本中使用的三个步骤

步骤 1:连接到 WMI 服务
在任何 WMI 脚本中,第一个步骤都是建立一个到目标计算机上的 Windows 管理服务的连接。方法是调用 VBScript 的 Getobject 函数并将 WMI 脚本库的名字对象的名称(即“winmgmts:”,后跟目标计算机的名称)传递到 Getobject ,并返回一个对象的引用,此时,您就可以调用其提供的方法如:InstancesOf,正如方法名所示,InstancesOf 返回由资源的类名标识的托管资源的所有实例。
步骤 2:检索 WMI 托管资源的实例
一般采用 WQL 来实现。
步骤 3:显示 WMI 托管资源的属性
最后一个步骤是枚举 检索得到集合的内容。一般采用
For each enum in myclass
……
Next 结构来实现。




0 0
原创粉丝点击