Article summary — original

借助 PowerShell 自定义延长 Windows 更新暂停时间 针对 Windows 系统界面最多仅允许暂停更新 35 天的限制,用户可通过管理员权限的 PowerShell 修改注册表项,将更新暂停期限突破并自定义延长至指定日期。 在系统设置中暂停更新后,以管理员身份运行 PowerShell 写入注册表项,可将更新暂停截止时间设定为任意指定日期。 从 Windows 10 起系统采用 SaaS 模式,更新包括常规累积更新、非安全预览更新与功能更新,频繁更新对长时间稳定工作的设备带来中断隐患。 企业管理设备可通过组策略、MDM、WSUS 或 LTSC 版本更长时间地控制更新推送,但普通设备界面限制最长只能暂停 35 天。 通过 PowerShell 自定义暂停时间的操作方法 用户可先在「Windows 设置」的「Windows 更新」中任意选择一个日期暂停更新。随后以管理员身份打开 PowerShell 或终端,将注册表路径指向 HKLM:\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings,并通过 Set-ItemProperty 命令将 PauseUpdatesExpiryTime、PauseFeatureUpdatesEndTime 与 PauseQualityUpdatesEndTime 三个键值修改为指定日期的 UTC 格式字符串(例如 2030-01-01)。执行后重新进入设置确认即可突破系统原有的 35 天限制。 Windows 更新策略与企业管理差异 Windows 早期版本主要依靠重要更新、可选更新与服务包(SP)。从 Windows 10 开始转向定期推送的 SaaS 模式,包含每月补丁星期二的累积更新、阶段性功能更新及紧急补丁。在受管理的企业环境中,管理员可利用 MDM、组策略等将功能更新延迟最长 365 天、质量更新延迟最长 30 天,或采用仅接收累积更新的 LTSC 版本;而缺乏企业管理环境的普通用户则受制于 35 天暂停限制,需依赖注册表修改来保障特定长周期项目的系统稳定。

Article summary — zh

借助 PowerShell 自定义延长 Windows 更新暂停时间 针对 Windows 系统界面最多仅允许暂停更新 35 天的限制,用户可通过管理员权限的 PowerShell 修改注册表项,将更新暂停期限突破并自定义延长至指定日期。 在系统设置中暂停更新后,以管理员身份运行 PowerShell 写入注册表项,可将更新暂停截止时间设定为任意指定日期。 从 Windows 10 起系统采用 SaaS 模式,更新包括常规累积更新、非安全预览更新与功能更新,频繁更新对长时间稳定工作的设备带来中断隐患。 企业管理设备可通过组策略、MDM、WSUS 或 LTSC 版本更长时间地控制更新推送,但普通设备界面限制最长只能暂停 35 天。 通过 PowerShell 自定义暂停时间的操作方法 用户可先在「Windows 设置」的「Windows 更新」中任意选择一个日期暂停更新。随后以管理员身份打开 PowerShell 或终端,将注册表路径指向 HKLM:\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings,并通过 Set-ItemProperty 命令将 PauseUpdatesExpiryTime、PauseFeatureUpdatesEndTime 与 PauseQualityUpdatesEndTime 三个键值修改为指定日期的 UTC 格式字符串(例如 2030-01-01)。执行后重新进入设置确认即可突破系统原有的 35 天限制。 Windows 更新策略与企业管理差异 Windows 早期版本主要依靠重要更新、可选更新与服务包(SP)。从 Windows 10 开始转向定期推送的 SaaS 模式,包含每月补丁星期二的累积更新、阶段性功能更新及紧急补丁。在受管理的企业环境中,管理员可利用 MDM、组策略等将功能更新延迟最长 365 天、质量更新延迟最长 30 天,或采用仅接收累积更新的 LTSC 版本;而缺乏企业管理环境的普通用户则受制于 35 天暂停限制,需依赖注册表修改来保障特定长周期项目的系统稳定。

Saved original article

**TL;DR** 首先,打开「Windows 设置」,前往「Windows 更新」,选择任何一个日历上的日期暂停更新。 接着,在 Windows 徽标上右键并选择「终端(管理员)」或「Windows PowerShell(管理员)」,在弹出来的黑色窗口中输入下列代码,并敲击回车。 ``` $path = "HKLM:\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings" $end = (Get-Date "2030-01-01").ToUniversalTime().ToString("yyyy-MM-ddTHH:mm:ssZ") Set-ItemProperty -Path $path -Name "PauseUpdatesExpiryTime" -Value $end Set-ItemProperty -Path $path -Name "PauseFeatureUpdatesEndTime" -Value $end Set-ItemProperty -Path $path -Name "PauseQualityUpdatesEndTime" -Value $end ``` 最后,重新前往「Windows 更新」,确认是不是已经暂停到 2030 年 01 月 01 日了。 你可以将上面代码中的 `2030-01-01` 修改为任意的、符合年月日格式的日期,来暂停到更合适的日期。 某日早晨我如常来到办公室,输入密码进入电脑桌面,进行工作日的第一件事:~~打开少数派摸獭。~~当我发现派早报内的「的地得」错误,准备截图发给群里「的地得」警察朋友们一起批判的时候,发现常用 IM 工具没有在任务栏托盘里。 本来以为没什么,但当我打开开始菜单准备启动 IM 的时候,又发现任务栏上的图标比昨晚下班的时候少了很多。 我随即意识到 **Windows 自动更新**了。 可能对于不少人来说这不是一件大事,重新把软件打开就行,但近一个月都在和一项比较复杂的项目做「搏斗」,系统、软件、文件开得都很多,虽然有手动保存的习惯,但不一定能覆盖所有的软件。好在这一次,只丢失了一个 PDF 文件里的批注。 我知道 Windows 可以直接暂停更新,但那个暂停最长也就能暂停 35 天,像我这样要处理超过一个月的大型项目的时候,就不得不品尝 Windows 的自动更新了。 作为一个 80 后,我记得 Windows 10 以前的电脑没有更新地那么频繁,所以我也就开始了我的调查之旅。 在 Windows 7 及之前的版本,微软将更新分为两个大类:一类为「重要更新和可选更新」,其中重要更新包括了安全补丁、错误修复和性能改进,而可选更新主要包括硬件驱动更新、功能升级和其他非关键性修复。这类更新通常能在 Windows Update 中看到。 另一类则为「服务包(Service Packs)更新」,这可以理解成一种大型更新;这类大型更新往往都会引入一些可以提高用户体验的新功能或现有功能的改进、新硬件的支持以及系统组件更新;服务包的发布频率相对较低,通常每个 Windows 版本仅发布几个服务包,还需要用户手动下载和安装。 Windows 8 的更新策略与 Windows 7 类似,也同样分为「重要更新和可选更新」以及「服务包(Service Packs,SP)更新」两类。在「服务包更新」方面,Windows 8.1 可视为 Windows 8 的一个服务包,用户需要手动下载和安装 Windows 8.1。而在「重要更新和可选更新」方面,Windows 8 的更新周期略有缩短,微软有意加快了新功能和性能改进的发布速度。 而从 Windows 10 开始,微软引入了「软件即服务(Software as a Service,简称 SaaS)」的更新模式,在这种更新模式下微软会定期发布更新不断改进操作系统,而不再像以前一样发布服务包了。 微软从 Windows 10 开始就一直给我一种「不更新不行」的压迫感,隔三差五就会弹一条要更新的通知,甚至催着你更新的通知一天能弹好几条,这样的更新频率真的让我很头疼。 细细数下来 Windows 10 和 11 目前分为以下的更新类型: 首先聊聊 Windows 10 开始的「版本更新」,这类更新和之前的服务包类似,「版本更新」主要会引入新功能、并提供一些既有功能改进,比如:17 年 10 月的 Windows 10 版本 1709 更新中引入了 Fluent Design 系统,18 年 10 月的Windows 10 版本 1809 更新中引入了剪贴板历史记录、文件资源管理器的深色模式等功能。 Windows 10 开始,版本更新每个版本更新通常会按照每年发布两次,一次在春季(通常在 3 到 5 月之间发布)、一次在秋季(通常在 9 到 11 月之间发布),版本更新通常需要在 Windows Update 里手动点击安装。 Windows 11 开始功能下放得更密集了起来,几乎每个季度都有一次,这个更新也被称为称为 Moment 更新,而「版本更新」则放缓为一年一次,时间约在秋季。 但从 Windows 11 22H2 开始,微软也开始逐步淡化这种一年一次的「阶段性功能投放」更新策略;新功能会通过每个月的月度更新(也就是下面提到的累积更新、非安全预览更新等)直接安装到用户电脑上。 而「累积更新」主要关注于系统的稳定性、安全性和错误修复,每个修复的问题都会让版本号最后的修订号递增;累积更新通常每月发布一次,与 Windows 的更新传统「补丁星期二」(每月的第二个星期二)相对应。 在紧急情况下,微软也会发布额外的累积更新(OOB),来修复一些比较严重的安全、稳定或是错误问题,比如 2026 年的 1 月、3 月、7 月都有额外的累积更新(OOB)来修复紧急问题。 值得注意的是,每个月还有一个可选的非安全预览更新,一般在每个月的第四周星期二发布,在当月你只能在 Windows 下的可选更新中找到,这类更新会随着第二个月的「补丁周二」一起推送给用户。可选更新通常还会包括驱动程序、微软产品或是其他一些选件的更新。 不过,Windows 10 开始频繁发布新版本势必会牺牲的系统稳定性,原因倒也很简单,开发团队需要在较短的时间内完成新功能的开发和测试。在时间压力下,可能无法对所有更改进行充分的测试,这可能导致一些隐藏的问题和漏洞被引入到新版本中,从而影响系统的稳定性。 自 Windows 10 时代起,微软便推出了 Windows 预览体验计划(Windows Insider Program),邀请全球用户提前体验并参与系统测试。该计划最初采用 Rings 体系,后于 2020 年更名为 Dev(开发者)、Beta(测试)和 Release Preview(发布预览)三大渠道;2023 年 3 月 6 日,微软又增设了面向超前底层开发的 Canary 渠道。 随着测试分支逐渐臃肿,2026 年 4 月 10 日,微软对预览体验计划进行了重磅简化,将核心开发测试重构为两大主要渠道:Experimental(实验渠道)与 Beta(测试渠道)(Release Preview 仍保留用于最终发版验证)。原 Dev 渠道直接过渡为 Experimental;Canary 则不再作为独立主渠道,而是按底层平台内核演变为 Experimental 下的不同分支。 调整后的 Windows 预览体验计划架构与分支定位如下: 而在企业中稳定才是最重要的,从 Windows 10 开始这样隔三差五的补丁更新万一有一个没有测试出问题,就很有可能会让企业蒙受损失。Windows 企业版(包括了 Windows 专业版)在不进行额外的控制下,更新频率和消费者版是一样的。 对于受管理的 Windows 设备,管理员可以通过组策略、MDM 或 Windows Update for Business 设置更新延迟策略,其中功能更新最多可延迟 365 天,质量更新最多可延迟 30 天;如果使用 WSUS,则还可以通过批准和拒绝更新来进一步控制更新部署时机。 Windows 10 时代,微软还曾使用 Semi-Annual Channel(半年频道,SAC)等服务频道概念来区分企业设备接收功能更新的阶段。随着 Windows 11 改为一年一次年度功能更新,微软逐渐取消了 Windows 客户端以 SAC 等「就绪频道」区分功能更新部署阶段的做法,转而主要通过 Windows Update for Business 的更新策略、目标版本策略和部署环来控制企业设备何时接收功能更新。 在 Windows 企业版之上还有个长期服务版(LTSC 版),微软通常大约每 2-3 年发布一个新的 LTSC 版本,而已经部署的 LTSC 系统在其支持周期内**不会通过 Windows Update 接收常规功能更新**,相对会更稳定一些。而 LTSC 的 Windows 版本累积更新依旧是每月 1 次。 虽然企业版也不能完全不更新,但至少可以推迟更长时间。 **关联阅读:**[《你的名字到底有几种写法?——聊聊 Windows 和 macOS 的版本号》](https://sspai.com/prime/story/windows-macos-version-number-explained) 可惜的是我们公司没有专业的 IT 部门,而在 Windows 11 系统界面上最长也就只能选择 35 天内的任意日期暂停,35 天以后一定要更新了才能继续暂停。不过,Windows 目前还可以通过注册表直接写入暂停时间来暂停: `$path ...`:定义注册表路径变量,指向 Windows Update 的 UX 设置项;`2030-01-01` 解析为日期时间对象,你可以改成任意你觉得合适的时间;`.ToUniversalTime()`:将该时间转换为 UTC 时间;`.ToString("yyyy-MM-ddTHH:mm:ssZ")`:把时间转换成 Windows Update 更新所用的 ISO 8601 格式;`Set-ItemProperty`:修改注册表中已有的值;`-Path $path`:指定要修改的注册表位置,也就是一开始定义的注册表位置;`-Name "PauseUpdatesExpiryTime"`:指定要修改的注册表值名称,这里的 PauseUpdatesExpiryTime 表示 Windows Update 的暂停截止时间;后面 2 条中的`PauseFeatureUpdatesEndTime` 和 `PauseQualityUpdatesEndTime` 也类似,分别对应功能更新暂停时间和质量暂停时间。`-Value $end`:将前面生成的 UTC 格式时间写入 `PauseUpdatesExpiryTime`,从而把 Windows Update 的暂停截止日期设置为指定时间。 总的来说这串代码的意思就是设置 Windows Update 设置下,将暂停日期设置为固定的日期,远远突破了原先 35 天的限制,也更灵活。 使用方法也很简单:首先打开「Windows 设置」,前往「Windows 更新」,选择任何一个日历上的日子暂停更新。 接着,右键点击 Windows 开始徽标并选择「终端(管理员)」或「Windows PowerShell(管理员)」,在弹出的窗口中输入上述代码并按下回车。最后打开「Windows 设置」,进入「Windows 更新」,确认更新是否已成功暂停以及暂停的目标日期是否正确即可。 系统更新其实很重要,Windows 下的累计更新会修复大量的安全漏洞,如果不是因为工作比较复杂,涉及的软件很多我也愿意及时更新。在我看来如果不是真的有必要的话,延长 2-3 个月足矣。 只不过活干完了以后,要记得点击「继续更新」,免得下次焦头烂额的时候 Windows 又来提醒你要更新了。 \> 下载 [少数派 2.0 客户端](https://sspai.com/page/client)、关注 [少数派公众号](https://sspai.com/s/J71e),解锁全新阅读体验 📰 \> 实用、好用的 [正版软件](https://sspai.com/mall),少数派为你呈现 🚀