软件吧
登录注册账号
/posts/win-mvz3g7sk-c0f5
电脑必备

把Win更新改成脚本调度后,我反而比手动点更踏实了

极客阿凯 91 0 13

先别甩锅给微软,Win 更新这事儿我折腾了小半年,最后落到一个结论:手动控制不等于手动点按钮,脚本调度才是真·手动。

起因:单位几台开发机,有的跑 CI 编译,有的挂虚拟机,Win 更新老在半夜重启,编译到一半被打断两次。我一开始是手动设「暂停更新 35 天」,到期再续,烦得很。后来发现组策略里能配「活动时间」和「自动更新计划」,但这东西只对部分版本生效,Home 版直接不认。

做法:我用 PowerShell 写了个脚本,核心就三件事——

  1. 查 Get-WindowsUpdate 有没有挂起的更新,没有就退出;
  2. 有的话,先 Set-Service wuauserv -StartupType Manual,再把「活动时间」临时拉长;
  3. 挂到计划任务里,只在每周六凌晨 2 点跑,跑完写日志到指定目录。

对比测试:我拿三台机子测了两周。A 机纯自动,B 机手动点,C 机脚本调度。结果挺有意思:A 机平均每月被强制重启 2.3 次,B 机靠人盯,漏了两次;C 机零意外重启,但脚本本身要维护——有一次 Get-WindowsUpdate 模块更新了参数名,脚本报错,日志里一眼能看到,改一行就好。

吐槽与肯定:软领那种一键自动优化确实适合懒人,无广告这点我认,装完不弹窗不劫持主页,干净。但它的「自动」是黑盒,你不知道它动了哪些服务、改了哪条策略。我这种喜欢手动控制的,宁可自己写脚本,至少每行代码在干什么心里有数。

踩坑提醒:别直接禁 wuauserv 服务,禁了之后 Windows Defender 定义更新也跟着断,我踩过这个坑,后来改成「按需启动 + 计划任务触发」,才没影响安全更新。另外 Set-Service 改启动类型记得改回来,不然下次系统自己更新会报错。

判断依据:三台机子日志对比下来,脚本调度的「确定性」最高——你不光控制了什么时候更新,还控制了更新失败后怎么回滚。手动点按钮反而容易忘,忘一次就是半夜重启。

你们那边 Win 更新是纯手动点、组策略锁,还是也上脚本了?有没有人试过用 PSWindowsUpdate 模块配 -AcceptAll 参数批量推的,稳定性怎么样?

登录后可以为帖子点赞,但本帖内容对所有人开放阅读。

社区回应

0 Replies

还没有回应,抢一个沙发。

登录后可以回应和点赞,但本帖内容对所有人开放阅读。