空气隔离环境下Windows 10 21H2 LTSC客户端无法从Server 2012 WSUS服务器下载更新
看你描述的情况,在完全离线的空气隔离环境里碰到这个WSUS更新问题确实头疼——能双向ping通、关了防火墙杀毒、折腾了代理重建和权限,甚至试了报表组件和注册表修改,结果还是检测到更新却下不来。结合你的操作记录和环境特性,给你几个针对性的排查方向:
先啃Server 2012与Win10 21H2 LTSC的兼容性问题
你前同事提到的版本适配问题真的不能忽略。Server 2012自带的WSUS(版本6.2)对新Win10版本的支持本来就有限,尤其是LTSC这种长期服务分支。首先得确认WSUS服务器有没有装KB3159706这个关键补丁——这是Server 2012 WSUS能支持Win10 1607及以后版本的前提,没装的话大概率会出现“能检测到但下不了”的情况。就算装了这个补丁,对21H2 LTSC的支持可能还是有局限,要是后续排查下来确实是版本问题,可能得考虑把WSUS升级到Server 2016及以上版本,当然在空气隔离环境里得先搞定离线补丁包的导入。深挖WSUS内容文件夹的权限和文件完整性
虽然你给了Everyone全权限,但离线环境下的WSUS内容文件夹容易出现文件缺失或者权限继承冲突的问题:- 去WSUS服务器的
WSUSContent文件夹里,对照检测到的9个更新的KB编号,找对应的哈希值命名子文件夹,看看更新文件是不是真的存在; - 别光给Everyone权限,重点检查WSUS服务默认用的
NT AUTHORITY\NETWORK SERVICE账户,有没有对WSUSContent和UpdateServicesPackages文件夹的读取+执行权限,有时候宽泛的权限反而会因为继承规则出问题,给服务账户明确权限反而更靠谱; - 客户端这边的
C:\Windows\SoftwareDistribution\Download文件夹,确认SYSTEM和当前用户有完全控制权限,避免下载时因为权限不足写不进去。
- 去WSUS服务器的
重置客户端WSUS代理的深层配置
重建自动更新代理存储没用的话,试试用命令行彻底重置一遍:
以管理员身份打开命令提示符,依次执行:net stop wuauserv net stop cryptSvc net stop bits net stop msiserver ren C:\Windows\SoftwareDistribution SoftwareDistribution.old ren C:\Windows\System32\catroot2 catroot2.old net start wuauserv net start cryptSvc net start bits net start msiserver wuauclt /resetauthorization /detectnow另外检查客户端注册表
HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\WindowsUpdate下的WUServer和WUStatusServer,确认地址和端口(默认8530)都填对了;还可以用Get-WindowsUpdateLog命令生成完整的更新日志,找找下载失败的具体错误代码——比如0x80244019是WSUS连接问题,0x80070005是权限问题,这些代码能帮你精准定位。核对WSUS服务器的更新同步和批准状态
因为是空气隔离环境,你应该是离线导入更新包到WSUS的吧?得确认:- 那9个检测到的更新是不是已经成功导入WSUS,而且在控制台的“更新”列表里“文件状态”显示为“已下载”;
- 批准更新时是不是选对了计算机组,客户端有没有真的归到这个组里;
- 服务器上的
Update Services服务有没有正常运行,去事件查看器里看看WSUS相关的日志,有没有启动失败或者崩溃的记录。
备注:内容来源于stack exchange,提问作者Sas Parmar

