浅谈如何利用脚本察看hotfix的安装情况
# g! Y6 P9 F) G$ U/ z# a最近在忙于day light saving (夏时制)的补丁安装工作,写了一个脚本来察看该补丁是否已经安装。因此也对如何利用脚本来检查远程
计算机的hotfix安装情况作了一下大概的研究。写下此文希望对大家有帮助。
. }5 j1 K( _+ c0 o# f; o# j# Z' y" b5 W9 w6 |0 c
第一个方法通过查询wmi的Win32_QuickFixEngineering 对象,举例如下
复制内容到剪贴板
代码:
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colQuickFixes = objWMIService.ExecQuery _
("Select * from Win32_QuickFixEngineering")
For Each objQuickFix in colQuickFixes
Wscript.Echo "-----------------------------"
Wscript.Echo "Computer: " & objQuickFix.CSName
Wscript.Echo "Description: " & objQuickFix.Description
Wscript.Echo "Hot Fix ID: " & objQuickFix.HotFixID
Wscript.Echo "Installation Date: " & objQuickFix.InstallDate
Wscript.Echo "Installed By: " & objQuickFix.InstalledBy
Next这是最简单的方法,不过有一个缺点就是安装日期与安装人往往是空的,不会显示出来。也就是说,如果只是查询某脚本是否安装了,用这种方法最简单。
; `, _6 o& z7 z" Y3 U: Q# v* G5 I
8 K4 }) S* X& D( f: Z第二种方法是查询注册表的hotfix栏目
+ H; H7 f4 v2 A5 {% p7 Q/ s
9 a$ ?' o3 p( m% D6 {可以通过查询这个目录下的条目来判断是否某个hotfix 已经安装
j; I( @2 b5 m5 N4 JHKLM\SOFTWARE\
Microsoft\Windows NT\CurrentVersion\HOTFIX
+ a/ ]4 N. m x4 N, l! q2 }9 O具体如何使用vbscript来查询远程计算机的注册表这里就不详细叙述了,大家参看
微软网站的例子就可以了。
k0 U1 ~, N1 K: \( p
0 @* z% @; a. }- ]/ ^这种方式比第一种方式复杂些,毕竟通过注册表来查询稍微麻烦点儿。而且得到的结果也差不多,虽然注册表中有相关的键值表示安装日期与安装人,但也往往是空的。
8 f \ \8 V' Y7 W0 l
我在脚本天堂贴的哪个hotfix的帖子就是通过这种方式来做的。大家感兴趣的话可以
下载看看。
* [ W+ E6 x" c6 Z4 T, ?
6 k! G# @1 U7 S0 c( E
7 l" [7 G7 M g: @& o
第三种方式 也是通过注册表来查询
+ _% ?- i& g5 B9 i y1 a% _昨天一个同事问我,他除了想知道该脚本是否安装还想知道是什么时候安装的?通过前两种方法都无法得知安装时间。于是我想到了注册表中的uninstall目录,通过查询该目录下的条目,果然可以得到安装时间。
: G/ _! `$ c& x* e7 f( c5 Y/ v
: `8 D2 O) T N/ O: E& [
该目录在 HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\
6 c4 k3 r$ Z" P; |7 Z. w& w6 J% i- |
( O4 Q: s6 e: i大家可以搜寻每个子条目的displayname 来确定hotfix然后查询 installdate 来得到安装时间。
' d# ^( u: L0 q% N: u( R0 a6 Z @7 j" h- k
不过这么做也可能有一个问题,某些(极少)的hotfix是不可以uninstall的,因此是否能够查询到,还待考证。
! l K. h) _9 M1 ~" b% G
5 \- I) \, s4 E. Q/ k! M希望此文能够对大家有所帮助。
3 ~; j7 C/ u, ?2 V* d5 s; t8 D
! P, x5 G; ]: V. r) q" A/ KMwpq 写于
菊花论坛,如转载请标明来源,谢谢。
* h" I/ s) E3 p
0 a& N) H/ H) I[
本帖最后由 mwpq 于 2007-9-21 05:07 编辑 ]