检查已应用的KB到Windows计算机的最全面方法是哪种方法?

时间:2016-08-11 19:13:22

标签: powershell wmic qfe

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

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

您可以查看SYSTEMINFO并获取修补程序列表。您还可以使用Get-Hotfix cmdlet,它是gwmi Win32_QuickFixEngineering的别名,或者您可以使用wmic qfe list WMI-C LI Q uick F ix E 工程 L ist)。

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

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

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

是什么给出的?为什么它会返回不同的值?是否所有应用的KB都未在Get-Hotfix cmdlet中列出?

在有人要求之前,是的,我已经重新启动了机器,但由于重新启动和更新,我还没有应用任何机器。那是第1天的事......

1 个答案:

答案 0 :(得分: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很棒,但仅供参考。我试图记住使其失效的情况。我会回到这里。