1. 同步故障排查
打开WSUS 管理控制台 → 点击"同步"节点 → 查看最近同步结果,检查是否显示"失败"
查看同步详细错误:点击失败的同步条目 → 在下方详细信息中查看错误代码和描述
检查网络连接:在 WSUS 服务器打开浏览器访问 https://download.microsoft.com,确认可正常访问
检查代理设置:在"选项" → "更新源和代理服务器"中确认代理服务器配置正确
重试同步:右键服务器名称 → "同步" → 观察同步是否成功
# 查看同步历史
$wsus = Get-WsusServer
$wsus.GetSyncHistory() | Select-Object StartTime, EndTime, Result |
Format-Table
# 检查 WSUS 服务状态
Get-Service WsusService
# 检查事件日志中的 WSUS 错误
Get-WinEvent -FilterHashtable @{LogName="Application"; ProviderName="Windows Server Update Services"} -MaxEvents 20 |
Select-Object TimeCreated, LevelDisplayName, Message
2. 客户端连接问题
在客户端检查 GPO 是否已应用:运行 gpresult /r → 在"已应用的 GPO"中确认 WSUS-Client-Settings 已列出
检查 WSUS 服务器地址:运行 reg query "HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate" → 确认 WUServer 值正确
检查网络连通性:在客户端运行 Test-NetConnection wsus01.iehang.cn -Port 8530
强制客户端报告:运行 wuauclt /detectnow /reportnow → 在 WSUS 控制台查看客户端是否出现
检查 Windows Update 日志:运行 Get-WindowsUpdateLog(Win10/11)查看详细错误
# 检查 WSUS 客户端注册表配置
Get-ItemProperty "HKLM:\Software\Policies\Microsoft\Windows\WindowsUpdate"
# 测试 WSUS 服务器连接
Test-NetConnection wsus01.iehang.cn -Port 8530
# 重置 Windows Update 组件
Stop-Service wuauserv
Stop-Service bits
Remove-Item "C:\Windows\SoftwareDistribution" -Recurse -Force
Start-Service wuauserv
Start-Service bits
# 强制检测
Start-Process wuauclt -ArgumentList "/detectnow /reportnow"
3. 更新安装失败
在 WSUS 管理控制台 → "更新" → 筛选"状态=安装失败" → 查看失败的更新列表
点击失败的更新 → 在下方"计算机状态"选项卡中查看哪些计算机安装失败及错误代码
在客户端查看 Windows Update 错误日志:打开"设置" → "更新和安全" → "查看更新历史记录" → 查看失败更新的错误代码
常见错误代码:0x80070002(文件缺失)、0x800F0922(磁盘空间不足)、0x80070005(权限不足)
# 查看安装失败的更新
Get-WsusUpdate | Where-Object {$_.Update.GetSummary().FailedCount -gt 0} |
Select-Object Title, @{N="Failed";E={$_.Update.GetSummary().FailedCount}}
# 查看客户端更新安装日志
Get-WinEvent -FilterHashtable @{LogName='System'; ProviderName='WindowsUpdateClient'} -MaxEvents 20 |
Select-Object TimeCreated, LevelDisplayName, Message
# 重新推送失败的更新
Get-WsusUpdate | Where-Object {$_.Update.GetSummary().FailedCount -gt 0} |
Approve-WsusUpdate -Action Install -TargetGroupName "Test-Computers"
4. 数据库与性能问题
检查 SUSDB 数据库大小:打开 SQL Server Management Studio → 连接 WID → 右键 SUSDB → "属性" → 查看"大小"
如数据库过大(>10GB),执行服务器清理向导(参见第 7 篇)和索引重建
检查 WSUS 服务内存占用:打开任务管理器 → 查看"Windows Internal Database"和"Update Services"进程的内存使用
如 WSUS 控制台响应缓慢,检查 IIS 应用池:打开 IIS 管理器 → "应用程序池" → "WsusPool" → 查看内存和 CPU 使用
# 检查 SUSDB 数据库文件大小
$dbPath = "C:\Windows\WID\Data\SUSDB.mdf"
$logPath = "C:\Windows\WID\Data\SUSDB_log.ldf"
Get-Item $dbPath, $logPath | Select-Object Name, @{N="SizeMB";E={[Math]::Round($_.Length/1MB,1)}}
# 检查 WsusPool 应用池状态
Get-IISAppPool "WsusPool" |
Select-Object Name, State, @{N="MemoryMB";E={[Math]::Round($_.WorkerProcess.Memory/1MB,1)}}
# 重启 WsusPool 应用池
Restart-WebAppPool "WsusPool"
5. 常见问题
检查 IIS 中"WSUS Administration"站点是否运行,WsusPool 应用池是否启动,8530 端口是否开放。
通常是 WSUS 服务器连接超时。检查网络、防火墙、WSUS 服务状态和 IIS 应用池。
卸载 WSUS 角色(保留数据库),重新安装后运行配置向导。如需完全重置,删除 SUSDB 和 E:\WSUS 目录后重新安装。