将已安装的Windows更新与定义的阵列进行比较

时间:2019-02-26 07:28:16

标签: powershell windows-update

我想检查某些计算机上是否安装了选定的更新。

这是我到目前为止的尝试:

$HotfixInstaled = Get-Hotfix | Select-Object -Property HotFixID | out-string
$HotfixRequared = @("KB4477029", "KB4486458", "KB4480959")


Compare-Object $HotfixRequared $HotfixInstaled -Property HotFixID | where {$_.sideindicator -eq "<="}

主要问题是Compare-Object无法同时找到$HotfixRequared和两个变量中的项目。

1 个答案:

答案 0 :(得分:1)

这里有两个问题:

  1. flatMap使得比较对象变得很困难,因为您破坏了返回对象的数组结构并创建了一个字符串数组,每个字母都是其自己的字段。不要那样做。
  2. 您必须使用Out-String的{​​{1}}开关并以相同方式更改-IncludeEqual查询。

这应该为您提供Compare-Object和两者中的所有修补程序:

Where-Object