You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Salt Master执行win_wua命令查询Windows更新报错,寻求技术协助

解决Salt win_wua模块报错(-2147352567, -2145107934)的问题

我之前处理过类似的Salt win_wua模块报错问题,结合你提到的用Minion2协助排查的要求,咱们一步步来解决这个问题:

1. 先用Minion2验证win_wua模块的可用性

首先确认不是Salt模块本身的问题,在Salt Master上针对Minion2运行相同的命令:

salt 'minion2' win_wua.available
salt 'minion2' win_wua.list_updates

如果Minion2能正常返回可用更新列表,说明问题出在目标实例XXXXXXXX01本身,而非Salt的win_wua模块。

2. 对比Minion2和目标实例的Windows Update服务状态

接下来检查目标实例的Windows Update相关服务是否正常运行,同时和Minion2的状态做对比:

# 检查目标实例的服务状态
salt 'XXXXXXXX01' service.list wuauserv,cryptSvc,bits,msiserver
# 检查Minion2的服务状态做参照
salt 'minion2' service.list wuauserv,cryptSvc,bits,msiserver

如果目标实例中有服务未运行,先启动对应的服务:

salt 'XXXXXXXX01' service.start wuauserv
salt 'XXXXXXXX01' service.start cryptSvc
salt 'XXXXXXXX01' service.start bits
salt 'XXXXXXXX01' service.start msiserver

启动后再次测试win_wua命令,看是否恢复正常。

3. 修复目标实例的Windows Update组件完整性

报错码-2145107934通常和Windows Update组件损坏有关,咱们先修复组件:

# 运行DISM修复系统镜像
salt 'XXXXXXXX01' cmd.run 'DISM /Online /Cleanup-Image /RestoreHealth'
# 运行SFC扫描修复系统文件
salt 'XXXXXXXX01' cmd.run 'sfc /scannow'

如果Minion2和目标实例在同一网络环境,也可以参考Minion2的正常组件状态,确保修复源可用。修复完成后重启目标实例的Salt Minion服务,再测试win_wua命令。

4. 验证目标实例的Salt Minion服务权限

win_wua模块需要较高权限访问Windows Update服务,确保目标实例的Salt Minion服务是用本地系统账户运行的:

# 查看目标实例的Salt Minion服务运行账户
salt 'XXXXXXXX01' service.info 'Salt Minion' | grep -i 'runas'
# 对比Minion2的配置
salt 'minion2' service.info 'Salt Minion' | grep -i 'runas'

如果目标实例的服务账户不是本地系统,修改为本地系统账户后重启Salt Minion服务:

salt 'XXXXXXXX01' service.modify 'Salt Minion' obj=LocalSystem
salt 'XXXXXXXX01' service.restart 'Salt Minion'

5. 重置Windows Update组件(终极方案)

如果前面的步骤都没用,咱们重置Windows Update的核心组件:

# 停止相关服务
salt 'XXXXXXXX01' service.stop wuauserv
salt 'XXXXXXXX01' service.stop cryptSvc
salt 'XXXXXXXX01' service.stop bits
salt 'XXXXXXXX01' service.stop msiserver

# 重命名缓存文件夹
salt 'XXXXXXXX01' cmd.run 'ren C:\Windows\SoftwareDistribution SoftwareDistribution.old'
salt 'XXXXXXXX01' cmd.run 'ren C:\Windows\System32\catroot2 Catroot2.old'

# 重启服务
salt 'XXXXXXXX01' service.start wuauserv
salt 'XXXXXXXX01' service.start cryptSvc
salt 'XXXXXXXX01' service.start bits
salt 'XXXXXXXX01' service.start msiserver

重置完成后,等待5-10分钟让Windows Update重新初始化,再运行win_wua.available命令测试。


内容的提问来源于stack exchange,提问作者Prashanth Goud B

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 09:04:46