如何使用PowerShell检查Windows Update的更新历史记录?
美国、香港服务器
如何使用PowerShell检查Windows Update的更新历史记录?
10-02 来源:
使用 PowerShell 可以方便地查询 Windows Update 的更新历史记录,包括已安装、失败或隐藏的更新。以下是具体方法:
方法 1:使用系统内置命令(查看基本更新历史)
通过 Get-HotFix 命令可以查看已安装的更新(主要是安全更新和质量更新):
powershell
# 查看所有已安装的更新(显示 KB 编号、安装时间、描述等)
Get-HotFix | Select-Object HotFixID, Description, InstalledOn, InstalledBy | Sort-Object InstalledOn -Descending
关键参数说明:
HotFixID:更新的 KB 编号(如 KB5030310);
InstalledOn:安装时间(按时间倒序排列,最新的更新在最上方);
Description:更新描述(如 “安全更新”“质量更新”)。
筛选特定更新(例如查找包含 “KB503” 的更新):
powershell
Get-HotFix | Where-Object {$_.HotFixID -like "*KB503*"} | Select-Object HotFixID, InstalledOn
方法 2:使用 PSWindowsUpdate 模块(更详细的历史记录)
微软官方的 PSWindowsUpdate 模块提供了更全面的更新历史查询功能,包括失败、隐藏的更新等。
步骤 1:安装模块(首次使用需执行)
powershell
# 允许执行脚本(仅首次需要)
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force
# 安装模块
Install-Module -Name PSWindowsUpdate -Force -AllowClobber
步骤 2:查询详细更新历史
powershell
# 查看所有更新历史(包括安装成功、失败、隐藏的更新)
Get-WUHistory | Select-Object Date, KB, Title, Result | Sort-Object Date -Descending
关键信息说明:
Date:更新操作时间;
KB:更新的 KB 编号;
Title:更新标题(详细描述);
Result:结果(如 “已安装”“失败”“已隐藏”)。
筛选失败的更新:
powershell
Get-WUHistory | Where-Object {$_.Result -eq "Failed"} | Select-Object Date, KB, Title, Result
筛选特定时间段的更新(例如过去 30 天):
powershell
$30DaysAgo = (Get-Date).AddDays(-30)
Get-WUHistory | Where-Object {$_.Date -ge $30DaysAgo} | Select-Object Date, KB, Title | Sort-Object Date -Descending
方法 3:通过事件日志查询更新历史(适合排查问题)
Windows Update 的详细操作记录(如下载、安装、失败原因)保存在事件日志中,可通过 PowerShell 提取:
powershell
# 查看 Windows Update 相关的事件日志(过去 7 天)
Get-WinEvent -FilterHashtable @{
LogName = "System"
ProviderName = "Microsoft-Windows-WindowsUpdateClient"
StartTime = (Get-Date).AddDays(-7)
} | Select-Object TimeCreated, Id, Message | Sort-Object TimeCreated -Descending
关键事件 ID 含义:
19:更新安装成功;
20:更新安装失败(包含错误代码);
100:开始扫描更新;
101:扫描更新完成。
查看具体失败原因(例如事件 ID 20):
powershell
Get-WinEvent -FilterHashtable @{
LogName = "System"
ProviderName = "Microsoft-Windows-WindowsUpdateClient"
Id = 20
} | Select-Object TimeCreated, Message
总结
快速查看已安装的更新:用 Get-HotFix(简单直观);
查看详细历史(包括失败 / 隐藏更新):用 PSWindowsUpdate 模块的 Get-WUHistory;
排查更新失败的具体原因:通过事件日志查询(Get-WinEvent)。
根据需求选择对应的方法,即可高效获取 Windows Update 的更新历史记录。
三二互联专业提供香港VPS,美国VPS主机,香港云服务器租用等业务香港美国到大陆CN2 GIA速度最快