使用Windows更新代理API,您可以列出Windows的更新。例如:
Set UpdateSession = CreateObject("Microsoft.Update.Session")
Set UpdateSearcher = UpdateSession.CreateUpdateSearcher()
Set SearchResult = UpdateSearcher.Search("IsInstalled=0 OR IsInstalled=1")
Set Updates = SearchResult.Updates
For I = 0 to SearchResult.Updates.Count-1
Set update = searchResult.Updates.Item(I)
WScript.Echo I + 1 & "> " & update.Title
Next由于我是在查询已安装和未安装的更新,因此假设结果列出了当前Windows版本/build的所有可用更新。对吗?
我现在的观点是:我也可以查询不同的版本吗?
例如,列出来自Windows 10系统的Windows 2016更新。
这样做的目的是方便地提供开发人员Windows虚拟机,采用ISO和最新的累积更新。
发布于 2020-11-17 17:52:22
复活一个死去的问题!
不是,Windows Update客户端完全是在当前机器上预测的。我已经检查了网络流量,试图反向工程更新服务器流量,但我什么也没有得到。YMMV
典型的方法是让构建服务器从基本ISO创建一个映像,启动它,应用更新,然后关闭它,然后从它创建一个主映像。您将定期这样做,这样每当提供新的VM时,更新的时间就不会超过x天。你可以每晚做一次。
看看一个叫做Packer的工具。(这不是背书,只是一个例子。)
如果你沿着这条路走下去,你也会为自己打开一扇门,比如对图像进行安全扫描或安装方便包等。你越能推进到一个图像中,你每天的工作量就会越少。
您刚才提到,这是针对开发人员机器的。您考虑过VS代码中的dev容器吗?
https://stackoverflow.com/questions/54048630
复制相似问题