完全自动更新Windows

aei*_*ein 6 windows automation windows-update batch-file mdt

我正在开发一个项目,目标是能够100%更新Windows计算机.这意味着一个程序或脚本可以自动更新窗口而根本不需要用户交互.理想情况下,可以从另一个脚本运行的独立脚本.

原因是:我需要在我的工作中更新很多计算机.它们可以处于任何补丁级别以及从Windows XP到Windows 8的所有内容.我的目标是启动脚本,等待/执行其他操作,然后找到完全修补的计算机.

我通过在MDT 任务序列中找到ZTIWindowsUpdate.wsf解决了很多问题.

这可以像管理员cmd一样使用:

cssript.exe ZTIWindowsUpdate.wsf
Run Code Online (Sandbox Code Playgroud)

到目前为止,我的问题是计算机需要在某些更新之间重新启动.可能是因为依赖.ZTIWindowsUpdate.wsf需要以管理员身份运行,我似乎找不到一个解决方案,可以在重启时以管理员身份启动它.此外,如果我得到的脚本在启动时运行,我该如何阻止它,我怎么知道什么时候它的时间来阻止它?

有人可以帮助解决这个问题的万无一失的解决方案吗?

谢谢!

Ele*_*ios 8

不需要完全更新Windows操作系统,大多数更新都不需要,大多数更新与安全性无关,我们可以在没有它们的情况下生存,您需要阅读每个更新的描述以了解所做的更改.在几种情况下,完全更新Windows可能是负面的性能.

您只需下载所需的更新,然后将其存储在包含此批处理脚本的文件夹中:

@Echo off
For %%# in (*.msu) Do (
    Echo: Installing update: %%#
    Wusa "%%#" /quiet /norestart
)
Echo Windows Update finished.
Pause&Exit
Run Code Online (Sandbox Code Playgroud)

您还可以使用winrar将文件夹(更新+脚本)压缩为Self可执行文件,以将其作为独立文件进行分发.

信息:

Wusa .exe是Windows Update命令行应用程序.

文件将逐个处理,而不是一次处理.

安静的开关使得安装无声.

norestart更新日志文件开关如果需要的话,甚至在安装更新后不重新启动.

如果在操作系统中安装了更新,则不会再次安装,而不会出现错误窗口或停止执行脚本.

PS:见Wusa /?更多开关.

我希望这有帮助.

更新:

另一种方法是使用WSUS实用程序下载并安装所有更新.

http://download.wsusoffline.net/

Win7 x64的更新(例如)存储在此处:"...\wsusoffline\client\w61-x64\glb"

PS:如果需要在"后台"中自动执行任务,那么应用程序"CMD"目录中的"DoUpdate.cmd"批处理文件就是您所需要的.

在此输入图像描述

  • 我不同意.除少数例外情况外,最好安装通过Windows Update分发的所有更新,以便您的系统与配置为自动安装的数百万个系统完全相同.Microsoft无法测试您可能选择安装的每种可能的更新组合,因此通过选择性增加了遇到罕见或独特问题的风险.(当然,有一些特殊情况,例如服务器,其中最好省略一些更新.) (4认同)

Har*_*ton 2

对于您所描述的问题,最简单的解决方案是让脚本为内置管理员帐户配置自动登录,然后将其自身添加到启动文件夹中。您确实需要知道(或重置)管理员帐户密码才能使用此选项。

还有许多其他可能性,一些示例是:使用启动脚本和 psexec;使用 srvany 创建运行脚本的服务;使用任务计划程序来安排脚本自动运行,无论是交互式还是非交互式;禁用 WUA,为您正在使用的帐户配置自动登录,并将脚本添加到启动文件夹。

请注意,如果您可以设置 WSUS 服务器或(如果您还没有 Windows 服务器,则更简单、更便宜)透明缓存代理,您将节省时间和带宽。然而,这并不能避免在更新过程中重新启动的需要。

您可能会发现我的脚本作为 ZTIWindowsUpdate.wsf 的替代起点很有用,只是因为它更小且更易于理解。