【发布时间】:2021-08-04 19:39:44
【问题描述】:
我需要使用 PowerShell 获取所有已安装的 Windows 更新。
结果应包含更新名称、KB 编号、CVE id 和严重性等级。
我尝试了下一个脚本:
Get-HotFix,
wmic qfe list,
Get-WmiObject -Class Win32_QuickFixEngineering。
但它只返回 KB 数字。
我还尝试从下一个脚本结果中过滤安装的更新:
Get-ChildItem -Path 'Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\Packages'。
但此脚本并非返回所有更新。
下一个脚本也不会返回所有已安装的 Windows 更新:
$Searcher = $Session.CreateUpdateSearcher()
$HistoryCount = $Searcher.GetTotalHistoryCount()
$Updates = $Searcher.Search("IsPresent=1").Updates
$Updates | ForEach-Object {$_}
我没有更多的想法,我将不胜感激。
【问题讨论】:
-
怎么样:
(Get-Package -ProviderName msu -Force | Sort-Object Name -Descending).Name? -
@AbrahamZinala 不幸的是,它并没有返回所有更新,但感谢您的帮助。
-
您到底在寻找什么?你怎么知道它不会返回所有更新?
-
@Abraham Zinala 我将返回的结果与“控制面板”的“卸载更新”中的更新列表进行比较。理想情况下,我需要所有这些更新,但似乎无法访问((
-
然后运行
Get-Package -Force
标签: windows powershell updates