Powershell 检查Windows机器上应用的KBs的最全面的方法是什么?

Powershell 检查Windows机器上应用的KBs的最全面的方法是什么?,powershell,wmic,qfe,Powershell,Wmic,Qfe,我正在使用Powershell运行知识库列表的状态,并查看它们是否已应用 我已经找到了一些方法,我发现他们报告的数据不一致。哪个是对的 您可以检查SYSTEMINFO并获得修补程序列表。您还可以使用Get Hotfixcmdlet,它是gwmi Win32_QuickFixEngineering的别名,也可以使用wmic qfe列表(WMI-CLIQuickFixEengineeringList) 那么,为什么我在快速计数时会得到不同的数字呢 i、 e.(获取修补程序)。计数和(wmic qfe

我正在使用Powershell运行知识库列表的状态,并查看它们是否已应用

我已经找到了一些方法,我发现他们报告的数据不一致。哪个是对的

您可以检查
SYSTEMINFO
并获得修补程序列表。您还可以使用
Get Hotfix
cmdlet,它是
gwmi Win32_QuickFixEngineering
的别名,也可以使用
wmic qfe列表
WMI-CLIQuickFixEengineeringList)

那么,为什么我在快速计数时会得到不同的数字呢

i、 e.
(获取修补程序)。计数
(wmic qfe列表)。计数

分别使用这两个返回153和310

有什么好处?为什么它返回不同的值?
Get Hotfix
cmdlet中是否未列出所有应用的知识库


在任何人询问之前,是的,我已经重新启动了机器,并且自从它重新启动和更新以来,我没有应用任何程序。这是第一天的事情…

WMIC有模糊的空白行,这可能会使水变得有点浑浊。这里有一个简单但不是很好的WMICQFE解析器(Windows10,所以谁知道它是否会转置)

希望您可以比较这些列表

$qfe = wmic qfe list brief | Select-Object -Skip 1 | Where-Object { $_.Trim().Length -gt 0 } | ForEach-Object {
    [PSCustomObject]@{
        Description = $_.Substring(0, 17).Trim()
        HotFixId    = $_.Substring(30, 10).Trim()
    }
}
Compare-Object (Get-HotFix) $qfe -Property HotFixID -IncludeEqual

这够了吗?不,不是真的。QFE是伟大的,但只是指示性的。我试着记住使它失效的环境。我会回到这里。

这是一个明确的问题,显然是经过充分研究的,关于一个缺乏文档记录的窗口区域。我完全不知道你为什么会被否决,所以请用一个向上的平衡来代替一个更新,因为我感觉它会在周末的某个时候出现。我们在一次广告RAP中遇到了一个问题,QFE没有报告所有内容,因为一位管理员做了一些事情。我们必须使用其他方法来评估补丁级别。含糊不清,抱歉,如果我没记错的话。。。