【问题标题】:WUAPI: List updates for different Windows editionsWUAPI:列出不同 Windows 版本的更新
【发布时间】:2019-01-05 03:09:32
【问题描述】:

使用Windows Update Agent 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 版本/构建的所有可用更新。对吗?

我现在的意思是:我也可以查询其他版本吗?
例如,列出来自 Windows 10 系统的 Windows Server 2016 更新。

这个想法是轻松配置开发人员 Windows 虚拟机,采用 ISO 和最新的累积更新。

【问题讨论】:

    标签: wuapi


    【解决方案1】:

    复活一个死问题!

    不,Windows Update 客户端完全基于当前计算机。我检查了网络流量以对更新服务器流量进行逆向工程,但我一无所获。 YMMV。

    典型的方法是让构建服务器从基本 ISO 创建一个映像,启动它,应用更新,然后将其关闭并从中创建一个主映像。您将定期执行此操作,以便在配置新 VM 时不会超过 x 天的更新。例如。你可以每晚做一次。

    查看一个名为 Packer 的工具。 (这不是背书,只是一个例子。)

    如果您沿着这条路走下去,您也会为自己打开大门,以执行诸如对映像运行安全扫描或安装便利包等操作。您可以推送到图像中的越多,您日常工作量中的任务就越少。

    您提到这是针对开发人员机器的。您是否考虑过 VS Code 中的开发容器?

    【讨论】:

    • 谢谢。目前我主要使用 Linux,所以我假设我不能将 Windows 容器与 Linux VS Code 一起使用。至于 Packer,如果我理解正确,我可以使用 Packer 脚本构建更新的 VM,从基本 ISO 开始。 你能指出任何在 Linux 上工作的 (GitHub) Packer 脚本吗?
    • 关于代码,我觉得没关系。我在桌面上使用 Windows,但在 Linux 容器中进行我的 Linux 开发。初始设置后,我没有遇到任何 xplat 问题。我认为我无法向您指出任何示例打包程序脚本 - 我不久前离开了运营部门,并且没有自己的经验。我相信这是一种人们认为合适的模式,而且我知道至少有些人认为它是一个很好的工具并且适合目的(并广泛讨论它!)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-02
    • 1970-01-01
    • 2020-05-07
    • 1970-01-01
    • 2010-11-12
    • 2020-06-25
    相关资源
    最近更新 更多