如何在Foreach-Object Parallel中使用变量?

我们可以在foreach并行循环中使用两种不同类型的变量。一个在内部声明,另一个在foreach并行循环外部声明。

请注意-我们在这里讨论PowerShell版本7中的Foreach-Object并行循环。对于普通的foreach循环,内部变量和外部变量是相同的。

在Foreach并行循环内声明的变量可以直接与其名称一起使用。例如,

示例

$vms = "TestVm1","TestVM2","TestVm3"

$Vms | ForEach-Object -Parallel{

   $var1 = $_

   Write-Output "Testing VM: $var1"

}

输出结果
Testing VM: TestVm1

Testing VM: TestVM2

Testing VM: TestVm3

在上面的示例中,$var1在foreach并行循环中声明,我们可以按其名称直接使用它,如图所示。但是在下面的示例中,在foreach并行循环外部声明的$log变量,我们可以在循环内部使用$Using关键字,后跟变量名来使用它。

$vms = "TestVm1","TestVM2","TestVm3"

$log = "Application"

$Vms | ForEach-Object -Parallel{

   $var1 = $_

   Write-Output "Checking $($using:log) on $var1"

}

输出结果
Checking Application on TestVm1

Checking Application on TestVM2

Checking Application on TestVm3

在上面的示例中,在$ foreach并行循环中使用的$using:log变量是$log变量。

以上是 如何在Foreach-Object Parallel中使用变量? 的全部内容, 来源链接: utcz.com/z/321268.html

回到顶部