VBS列出windows更新列表

Set objSession = CreateObject("Microsoft.Update.Session")
Set objSearcher = objSession.CreateUpdateSearcher

dim fso, f
set 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.GetTotalHistoryCount

Set 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 colHistory
	f.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 Select
	f.WriteLine "</tr>"
Next

f.WriteLine "</tbody></table>"
set f = nothing
set fso = nothing


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

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


转载于:https://www.cnblogs.com/apollokk/p/6713805.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值