如何在 PowerShell foreach 并行循环中使用 PSCustomObject?
要在 Foreach 并行循环中使用 PSCustomObject,首先需要考虑如何使用循环内的变量。
$Out = "PowerShell"
ForEach-Object -Parallel{
Write-Output "Hello.... $($using:Out)"
}因此,让我们看看能否在 $out 变量中储存或更改一个值。
示例
$Out = @()
ForEach-Object -Parallel{
$using:out = "Azure"
Write-Output "Hello....$($using:out) "
}输出
Line | 4 | $using:out = "Azure" | ~~~~~~~~~~ | The assignment expression is not valid. The input to an assignment operator must be an object that is able to accept | assignments, such as a variable or a property.
错误提示表达无效,所以我们无法直接操作变量。所以我们可以使用另一个方法,为其创建一个临时变量。
$Out = @()
ForEach-Object -Parallel{
$dict = $using:out
$dict = "Azure"
Write-Output "Hello....$dict"
}同样地,我们可以使用,如下所示所示的临时变量 PSCustomObject。
示例
$Out = @()
$vms = "Testvm1","Testvm2","Testvm3"
$vmout = $vms | ForEach-Object -Parallel{
$dict = $using:out
$dict += [PSCustomObject]@{
VMName = $_
Location = 'EastUS'
}
return $dict
}
Write-Output "VM Output"
$vmout输出
VMName Location ------ -------- Testvm1 EastUS Testvm2 EastUS Testvm3 EastUS
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP