小编Cla*_*lay的帖子

foreach - 与 powershell 7 并行

我正在努力解决以下问题。我正在尝试从我们的 2016 终端服务器接收当前安装的 Edge 版本。但是当我运行到 powershell 下面的代码时,显示版本 95.0.1020.30 已安装。

$Servers = get-content C:\users\xxx\Documents\Servers.txt 

$servers|foreach-object -parallel {
   Get-Ciminstance -ComputerName $Servers -Class Win32_Product  | where {$_.Name -Like "*Edge*"} | foreach {$_.Version}
   } 
Run Code Online (Sandbox Code Playgroud)

现在到有趣的部分:当我使用通常的 foreach 循环时,它会返回正确的版本。

$Servers = get-content C:\users\cma-admin\Documents\Servers.txt
 foreach($server in $servers){
Get-Ciminstance -ComputerName $Server -Class Win32_Product  | where {$_.Name -Like "*Edge*"} | 
 foreach {$_.Version}

}
Run Code Online (Sandbox Code Playgroud)

我很乐意将它与“-parallel”一起使用,因为这样可以更快地获取这些信息。我确实在强大的互联网上爬行了很多,但我没有找到任何特定于这个“错误”的内容。我不太确定我是否正确使用了 foreach -parallel。

此致,

黏土

powershell foreach

2
推荐指数
1
解决办法
1529
查看次数

标签 统计

foreach ×1

powershell ×1