windows 管理规范(windows management instrumentation)是一项核心的 windows 管理技术;用户可以使用 wmi 管理本地和远程计算机。wmi 通过编程和脚本语言为日常管理提供了一条连续一致的途径。
用户可以:
1.在远程计算机器上启动一个进程。
2.设定一个在特定日期和时间运行的进程。
3.远程启动计算机。
4.获得本地或远程计算机的已安装程序列表。
5.查询本地或远程计算机的 windows 事件日志。
而wmi适用的运得环境也是有些限制的,wmi 适用于所有最新版本的 windows。
wmi 附带在 windows me、windows 2000、windows xp 和 windows server 2003 之中。对于 windows 98 和 windows nt 4.0,可以访问http://www.microsoft.com/downloads并搜索“windows management instrumentation (wmi) core 1.5 (windows 95/98/nt 4.0)”。
注意:在 windows nt 4.0 上安装并运行 wmi 之前,需要首先安装 service pack 4 或更高版本。
wmi 需要的其他软件包括:
1. microsoft internet explorer 5.0 或更高版本。
2. windows script host(wsh)。windows 2000、windows xp、windows server 2003、和 windows me 附带的 wsh,而不是 windows nt4 或 windows 98 附带的 wsh。您可以从以下地址下载 wsh http://www.microsoft.com/downloads. wsh 的最新版本—— 包括在 windows xp 和 windows server 2003 之中——是 wsh 5.6。 要使wmi脚本可以正常的运行,windows里的wmi 服务(winmgmt)保证是运行的,这样才可以实现wmi里的更多功能。
以下是引用片段:
//这个脚本是查看系统启动的引导配置参数,下面我们来看看关于wmi脚本编写的架构。
on error resume next
//下面这行是比较重要的,它定义了主机的变量,可以是本机或远程主机,域上的机等,参数英文的“.”是表示本机,要想实现其它机的可以填上其它机的主机名或ip。
strcomputer = '.'
//下面这行是通过getobject得到主机的wmi对象管理空间“\root\cimv2”,如果是本机的是通过nt(authentication)认证的,所以可以不用用户名和密码,而对于非本机或非域机的就要再加多几条参数,
set objwmiservice = getobject('winmgmts:\\' & strcomputer & '\root\cimv2')
//执行wmi数据对象的查询
//至于连接远程的要用下面的语句
set objlocator = createobject('wbemscripting.swbemlocator')
set objservice = objlocator.connectserver(strcomputer, 'root\cimv2', 'administrator', 'a')
set colitems = objwmiservice.execquery('select * from win32_bootconfiguration',,48)
//利用数组列出相关
for each objitem in colitemswscript.echo 'bootdirectory: ' & objitem.bootdirectorynext