VBS列出windows更新列表

来源:互联网 发布:淘宝联盟电脑版 编辑:程序博客网 时间:2024/04/30 19:29
Set objSession = CreateObject("Microsoft.Update.Session")Set objSearcher = objSession.CreateUpdateSearcherdim fso, fset fso = CreateObject("Scripting.FileSystemObject")path = fso.GetFolder(".").Path'在脚本所在目录创建一个xls文件来记录,实际上是一个html表格内容,可以用excel打开set f = fso.CreateTextFile(path + "\WindowsUpdatesList.xls", true, -1)'第二个参数表示目标文件存在时是否覆盖'object.CreateTextFile(filename[, overwrite[, unicode]])'其中unicode参数可以为以下几种:'-2 以系统默认格式打开文件。 '-1 以 Unicode 格式打开文件。 '0 以 ASCII 格式打开文件。'未指定unicode参数时发现表头乱码【用的是utf-8编码】,但内容部份是正确的【用的是unicode】,不知为何?intHistoryCount = objSearcher.GetTotalHistoryCountSet colHistory = objSearcher.QueryHistory(1, intHistoryCount)f.WriteLine "<table><thead><tr><th>更新时间</th><th>补丁标题</th><th>补丁说明</th><th>操作</th></tr></thead><tbody>"For Each objEntry in colHistoryf.WriteLine "<tr>"f.WriteLine "<td>" & objEntry.Date & "</td>"f.WriteLine "<td>" & objEntry.Title & "</td>"f.WriteLine "<td>" & objEntry.Description & "</td>"Select Case objEntry.Operation        Case 1            f.WriteLine "<td>安装</td>"        Case 2            f.WriteLine "<td>卸载</td>"        Case Else            f.WriteLine "<td>未知</td>"    End Selectf.WriteLine "</tr>"Nextf.WriteLine "</tbody></table>"set f = nothingset fso = nothing


如果需要调试,可以在命令行输入:wscript /x script.vbs,然后选择调试器进行调试

附一张调试图片,可以看到objEntry还有更多属性:


0 0