【发布时间】:2020-01-03 13:59:06
【问题描述】:
我有一个 csv 如下:
- 服务器操作系统 HotFixID
- Comp1 Win12 KB452
- Comp1 Win12 KB453
- svrname3 Win8 KB134
我在下面编写了用于检查操作系统的脚本,如果它匹配,那么它应该检查服务器是否具有相同的 HotfixID。
$file = Import-Csv .\Desktop\hotfix.csv
if($Win12 = $file | where {$_.os -eq "Win12"} | select Source, HotFixID)
{
Get-HotFix -ComputerName ($Win12.Source) -Id ($Win12.HotFixID)
}
else
{
$Win8 = $file | where {$_.os -eq "Win8"} | select Source, HotFixID
Get-HotFix -ComputerName ($Win8.Source) -Id ($Win8.HotFixID)
}
问题在于输出。我在 csv 中有 2 个 Win12 服务器,但我得到 4 个输出 2 作为重复。我能够理解这里有一个嵌套循环正在运行但无法纠正它。请!!让我知道如何解决这个问题。
【问题讨论】:
-
我有点困惑。您的示例数据似乎只引用了 1 个 Win12 服务器 - “Comp1”。您是否只想检查每台远程计算机的 1 个特定 HotfixID?
标签: powershell import-csv