如何自动调用 1)Windows 更新和 2)重新启动的序列直到找不到新的更新?

如何自动调用 1)Windows 更新和 2)重新启动的序列直到找不到新的更新?

我在我们的网站上发现此解决方案但这不是完全自动的 - 即我调用 1) Windows Updates,然后 2) Restart,然后 3) Log in,然后手动一次又一次地执行无聊的循环 1-2-3 。

我希望实现招标过程的自动化!有任何想法请分享。

谢谢

答案1

安排以下命令在启动时运行:

  • wuauclt/detectnow

然后进入 Windows 更新并将设置更改为Download and install updates automatically,然后您应该能够手动启动 Windows 更新并离开。更新完成后,它将重新启动,重新启动后它将寻找更多更新。

如果有必要,请禁用您的帐户密码,直到所有更新都应用完毕,然后在全部设置完成后重新应用密码。

答案2

我刚刚把它们放在一起,看起来效果很好:

wuauclt /detectnow
wuauclt /updatenow

:CheckForRequiredRestart
    reg query "HKLM\Software\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\RebootRequired" > nul && shutdown -r -t 0
    ping 127.0.0.1 -n 61 > nul
goto CheckForRequiredRestart

只需将其放入.cmd文件中并将其放入启动文件夹并运行一次即可。

(我不太清楚哪些操作系统支持该/updatenow参数但它似乎对 Windows 7 有影响。)

我测试了修补 Windows 7 VM,它经历了整个过程(大概 10 次重启?)。剩下的唯一补丁是恶意删除工具(需要用户批准)和 4 个默认情况下未选中的更新。虽然它们很小,但安装后重新启动,然后在上面打了几个补丁,就完成了。

它不安装可选更新,所以只有几个小更新。我手动安装了它们,甚至没有任何补丁,所以总的来说,对于一个简单的脚本来说,它非常有效。当它最终完成时,你只需删除脚本即可。我不知道有什么简单的方法来检测完全完成,否则我会让它自己删除/取消计划。


我真的不喜欢 WuInstall 或 VBS/PowerShell 脚本,因为它们都被迫处理高级分类更新选择,这对于这个简单的目标来说太复杂了。没有“重要”、“推荐”和“可选”之类的简单功能;您必须明确排除语言和/或包含许多不同的类别,即使这样,它也与您通过传统安装/重启周期实现的效果并不完全相同。

当然,为了修补更多的系统,您应该使用不同的方法,比如使用 WDS 部署映像、使用 slipstreamed 安装、WSUS 或 WSUS 脱机更新。

答案3

我在我们的网站上找到了这个解决方案,但它不是完全自动的 - 即我调用1)Windows更新,然后2)重新启动,然后3)登录,然后手动一遍又一遍地执行无聊的循环1-2-3。

您也可以使用免费软件工具系统安装。这样,您就可以自动执行更新过程。例如,您可以配置 wuinstall 以安装更新,直到需要重新启动。然后,该工具重新启动系统并继续安装其他更新(如果还有剩余)。因此,与使用普通的 Windows 更新服务相比,您可以更快地更新系统。

一个潜在的缺点是,如果每次运行更新都失败,它可能会不断尝试一遍又一遍地重新运行该特定更新,从而将计算机锁定在循环中。

为了防止陷入无限重启循环,您可以设置最大重启次数。例如,重启三次后,该工具将中断更新过程。

我使用这个工具设置了几台新安装的计算机,效果很好。

相关内容