1

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

我找到了一些方法,并且发现与他们报告的数字不一致。哪个是对的?

您可以查看SYSTEMINFO并获取修补程序列表。您也可以使用Get-Hotfixcmdlet,它是别名,gwmi Win32_QuickFixEngineering也可以使用wmic qfe list( WMI-C LI Q uick Fix E ngineering List ) 。

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

(Get-HotFix).Count(wmic qfe list).Count

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

是什么赋予了?为什么它返回不同的值?Get-Hotfixcmdlet中是否未列出所有应用的 KB ?

在有人问之前,是的,我已经重新启动了机器,并且自从它重新启动和更新以来我没有应用任何东西。那是第一天的东西...

4

1 回答 1

1

WMIC 有模糊的空白行,这可能会使水有点混乱。这是用于 wmic qfe 的简单但不是很好的解析器(Windows 10,所以谁知道它是否会转置)。

希望您可以比较这些列表。

$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 很棒,但只是指示性的。我试图记住使它无效的情况。我会回到这个。

于 2016-08-11T19:49:44.890 回答