简单解析WMI──Windows的超级管理器

本文尤爱将带大家看看系统中的一个重要角色,WMI。

(Windows管理规范)WMI可以用来做什么呢?它强大的功能超乎你的想象。比如:它可以提高对Windows 的管理效率;通过编写脚本来处理检索性能数据、当前进程、注册表设置等各种操作系统中的配置问题;通过基于WMI的脚本,网络管理员还可以用它来对当前网络中的DNS、DHCP服务进行管理。另外,在微软未来的.Net平台上,系统管理员可以通过基于WMI的脚本对企业中的IIS、SMS、Exchange Server、SQL Server进行管理。所以,学习WMI技术对于日常的网络维护和管理都是非常有帮助的。

WMI是内置在操作系统中核心的管理支持技术,WMI为访问大量的Windows管理数据和方法提供了一个统一的机制。对于普通用户来说,应该如何使用WMI呢?微软为我们提供了非常方便的管理WMI的工具──WMIC。

拥有管理员权限才可以使用WMIC,WMIC为WMI提供了一个简单的命令行界面,它与现有的shell和实用命令交互操作,并且可以很方便地通过脚本或其他面向管理的应用程序进行扩展。

点击“开始→运行”,输入cmd,打开命令提示符,输入wmic.exe,如果是第一次使用wmic.exe,系统会提示开始安装WMIC,安装完毕后,就会显示WMIC的命令提示符:wmic:root\cli>。这时我们可以通过一些相关指令来对计算机进行操作。下面我们举例说明一下WMI的一些具体应用:

一、了解进程相关信息

通过process list m命令我们就能随时了解到当前进程所有的信息。其中m为list的参数,当m的值为brief时,命令将显示当前进程的主要信息,包括进程名称、进程ID、优先级、占用内存情况等。如果你想查看哪些进程是system进程,可以将m值设为system,这样就只会输出系统进程的值。

使用process这个公用查询命令可以获取很多关于进程的信息。如果我们希望在一段时间内定期(比如说每10秒)收集系统进程信息,以确定是否有异常的系统进程,这时候可以使用如下的命令行:

wmic process list brief /every:10 >d:/process_record.txt

这样,每10秒就会记录系统进程到D盘的文件process_record.txt,如果只关心ID大于1000的进程,可以在process后面加入条件字句:where (processid>1000)。因为我们只需要主要信息,所以使用了brief来进行限制。如果需要完整的信息,可以使用full参数,如果只关心系统信息,只需要使用system参数。

二、显示CPU当前时钟频率

在WMIC的命令提示符wmic:root\cli后输入path win32_processor get maxclockspeed,我们就可以看到该计算机CPU当前运行的时钟频率的值,输入值显示1804就表示我的电脑主频为1.8GHz。

三、开启服务进程

当我们需要调用某种服务时,总要通过services.msc服务控制台来完成,操作十分烦琐。而利用WMIC的话,只要一条简单的命令即可搞定。比如说现在我们想开启Telnet服务,可以输入service where caption='telnet' call startservice来完成。如果成功开启的话,屏幕会显示执行方法成功,同时还会显示服务的进程名称TlntSvr,打开Windows任务管理器就会发现TlntSvr.exe了。