0aa8fe6
这次没有正文改动。
这是 windows/WSUS 补丁管理.md 的改动记录。后台每次保存都会留一份快照,
这里显示的是快照之间的差异,不会混入其他文章的改动。
还没有后台修改记录。
下面是 Git 里的提交,可能包含其他文章的改动(因为一次提交会带上工作区所有变化)。
0aa8fe6
这次没有正文改动。
69302a9
@@ -0,0 +1,69 @@ +--- +tags: [WSUS, 补丁, 更新] +order: 110 +--- + +# WSUS 补丁管理 + +## 场景 + +内网服务器不能直连微软更新,需要一台 WSUS 统一下发补丁,先测试再全员推。 + +## 前置条件 + +- 一台 Windows Server(磁盘至少 100G,补丁很占空间) +- 能访问微软更新源(或上级 WSUS) +- 客户端能访问 WSUS 的 8530/8531 + +## 配置 + +```powershell +# 服务端 +Install-WindowsFeature -Name UpdateServices, UpdateServices-WidDB, UpdateServices-RSAT ` + -IncludeManagementTools + +# 初始配置(会同步元数据,比较慢) +& "C:\Program Files\Update Services\Tools\WsusUtil.exe" postinstall CONTENT_DIR=C:\WSUS + +# 组策略指向 WSUS(计算机配置 → 管理模板 → Windows 组件 → Windows 更新) +# 指定 Intranet Microsoft 更新服务位置:http://wsus01:8530 +``` + +命令行设置客户端: + +```powershell +$path = "HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" +New-Item -Path $path -Force | Out-Null +Set-ItemProperty $path -Name WUServer -Value "http://wsus01:8530" +Set-ItemProperty $path -Name WUStatusServer -Value "http://wsus01:8530" +gpupdate /force +``` + +## 验证 + +```powershell +# 客户端 +gpresult /r | Select-String "WSUS" +wuauclt /detectnow +Get-WindowsUpdateLog -LogPath C:\temp\wu.log + +# 服务端 +Get-WsusServer +Get-WsusUpdate | Select-Object -First 10 +``` + +## 回滚 + +```powershell +Remove-ItemProperty "HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" -Name WUServer +gpupdate /force +``` + +## 坑 + +- **补丁目录放系统盘**,几个月就把 C 盘吃满。 +- 客户端不显示「由组织管理」,说明策略没下发成功。 +- 只审批不测试,推到生产才发现蓝屏。 +- 服务器重启时间不可控,要配合维护窗口。 +- WSUS 自身不清理,用 `wsusutil.exe` 或清理向导定期瘦身。 +- 客户端长期不连会掉线,超过 30 天不报到的要先清理。