如何在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"
}同样,我们可以使用Temporary变量使用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
热门推荐
10 财运虎年祝福语简短语
11 单亲爸爸春节祝福语简短
12 狗狗上厕所训练
13 植物种植祝福语简短
14 翻译考试祝福语朋友简短
15 个人周年庆简短祝福语
16 狗狗怎么训练
17 分别祝福语简短搞笑英文
18 生日广州男生祝福语简短