Set updateSession = CreateObject( "Microsoft.Update.Session" ) Set updateSearcher=updateSession.CreateupdateSearcher() WScript.Echo "正在扫描系统漏洞..." & vbCRLF Set searchResult=updateSearcher.Search("IsInstalled=0 and Type='Software' and IsHidden=0") WScript.Echo "系统漏洞列表:" J=0 str_info="" For I=0 To searchResult.Updates.Count-1 Set update=searchResult.Updates.Item(I) If update.MsrcSeverity<>"" Then J=J+1 If InStr(update.Title,"KB2671387")>0 or InStr(update.Title,"KB2621440")>0 or InStr(update.Title,"KB2667402")>0 then WScript.Echo update.Title & "| 发布日期 " & update.LastDeploymentChangeTime & vbCRL End If End If Next WScript.Echo "系统漏洞扫描结束" WScript.Quit
因为需要写了个VBS脚本来查看一下指定的几个补丁是否打了.初次测试环境是在windows server 2003,并且执行OK
问题1. 在win7中总是提示语法错误
解决:文件的编码引起的,在win7里面.vbs文件的编码成了UTF-8,改成ANSI即可。
网上有说注意不要有中文的空格之类的,也要注意
问题2. 在winXP中执行,弹出异常框:错误代码80070422 无法启动服务器,原始可能是已被禁用或与其它关联的设备...
解决:cmd>services.msc
win7里面是启动windows Update 服务
winXP里面是启动Automatic Updates服务