Windows管理规范 WMI
Wmi(Windows?Management?Instrumentations,即Windows管理规范)作为组件集成于Windows操作系统,为多种信息的获取和管理提供了一系列标准。通常WMI可以实现几种功能,包括提供注册、请求传送、统一的编程API、远程管理、安全管理、可发现性和导航性、查询能力、强大的时间发布和订阅功能、事件的侦测和脚本编程能力等等。
CIM是面向对象的模型,使用一组面向对象的属于进行描述。WMI是微软扩展CIM?2.0而得到的面向Win32系统的扩展模型。WMI就是使用CIM来描述Windows环境中的系统对象。CIM分为三层:核心模型、公共模型和扩展模型。三层之间的关系为核心模型呗包含在公共模型中,扩展模型包括一部分公共模型。CIM分为三个通用类:系统、核心和公共、扩展类。
命名空间是CIM使用的分区机制,WMI引入该概念,创建了几种命名空间:root、root\Default、root\Security、root\CIMV2。命名空间所提供的类对象为访问各种管理对象提供了面向对象编程接口。
WMI体系结构由三个主层组成:托管资源、WMI基础结构、使用者。托管资源包括:计算机系统、操作系统子系统、网络组件、性能计数器、磁盘、服务、外围设备、事件日志、文件、文件夹、文件系统、打印机、进程、注册表设置、安全性、共享、SAM用户和组、Active?Directory、Windows安装程序、Windows驱动程序模式设备驱动程序、以及SNMP管理信息基(MIB)数据等。
WQL(WMI?Query?Language,即WMI查询语言)是用来检索某WMI类的实例集合,是标准SQL的一个子集加上WMI的扩展,只能执行SELECT操作,而其他如UPDATE、DELETE等DML语句无效。
WMI可以使用任何支持COM自动化特性的脚本语言,如Perl、javascript、VBScript等,大部分开发的WMI管理工具程序都是使用脚本实现。
Wmi工具下载地址:
http://www.microsoft.com/en-us/download/search.aspx?q=wmi&p=2&r=10&t=99&s=Relevancy~Descending
下载安装WMITools,如下图所示,为WMI?Tools安装后在开始菜单中列出的工具列表。
其中,CIM?Studio工具可以查看、修改WMI的类属性和方法;WMI?Object?Browser可查看相应主机中某个类对象的值,如查看本机的服务列表。
此外,可以通过脚本获取相应的对象值,下面以获取主机进程列表脚本为例:
strComputer = "." ' 点号代表本机 wmi命名空间Set wbemServices = Getobject("winmgmts:\" & strComputer)Set wbemObjectSet = wbemServices.InstancesOf("Win32_Process")For Each wbemObject In wbemObjectSet WScript.Echo "Name: " & wbemObject.Name & vbCrLf & _ " Handle: " & wbemObject.Handle & vbCrLf & _ " Process ID: " & wbemObject.ProcessIDNext?
?