◎ WMI 轻松入门之一—— ◎ ◎ ◎ ◎ 基本概念 2007 年 07 月 15 日 星期日 上午 01:12 其实我给文章起这样的名字,绝对没有轻视 WMI 的意思,事实上就连微软也有“WMI 非常难于学习而且更难于使用”的说法,在近日的学习过程中更感觉到了 WMI 检索功能的强大,之所以起个“轻松入门”的名字,我只是有感于外国人写教程在思路上和国人不太一致,西方式的幽默看起来困难无比,再加上一上手就在类的基本结构上展开讨论,吓跑了无数 Vbs 的爱好者,想从国人常见的角度出发来说说怎么学习 WMI 而已。百度空间的长度限制太讨厌了,一次发不完,只好分割成三部分,题目只能大致起了,见谅。 一、什么是 WMI?微软有很多说法,大家可以到脚本中心查阅,我这样理解,WMI 是一个用于管理 Window s 系统资源的对象,其内部应是一个树状的数据库,数据库中包含了很多个分支,每个分支被称作命名空间,每个命名空间包含了很多个对托管资源的抽象定义,这种定义叫做类。在很多计算机教材中喜欢把类比作建筑蓝图,依据蓝图建造的楼宇叫做类的实例,我更喜欢将类和其实例的关系比作表格,类就是表格的字段定义,而表中的数据就是一个个的类的实例,也许我这样说会让很多朋友更加糊涂,但是依此类推,WMI 中最终存在的是各种软硬件资源的抽象定义,我们利用 WMI,就是要按图索骥,通过类定义,获得类实例,检索出符合要求的属性,调用其内置的方法,实现我们的目标。相信很多朋友已经发现,我将 WMI 等同于 CIM 库了,我清楚他们不是一回事,但我相信这样更容易理解。如图: 二、WMI 的基本结构 严格说来,WMI 由四部分组成: 1、 公共信息模型对象管理器——CIMOM 2、 公共信息模型——CIM 3、 WMI 提供程序 4、 WMI 脚本对象库 其中其第 1、2、3 三个部分,在使用中很少加以区别,我们一般统称为 CIM 库。 所以我们可以认为 WMI 实际是由两部分组成:CIM 库和 WMI 脚本对象库。在具体使用过程中,我们是通过 WMI 脚本对象库去访问 CIM 库,管理托管的资源。也就是说,在我们编写脚本的过程大致可以分为这么几步: 1、 创建 WMI 对象脚本库的指针实例; 2、 调用其实例的方法,连接到 CIM 库,并指明需要访问的资源的逻辑位置; 3、 获得托管资源也就是类的实例的集合; 4、 枚举实例,完成工作。 这几个步骤在我们将来编写的代码中可以明确的反映出来。 三、常用的命名空间 ...