gpt4 book ai didi

powershell - Foreach parallel 缺少参数 'xxx' 的参数。指定一个 'System.Object'类型的参数再试一次

转载 作者:行者123 更新时间:2023-12-05 04:22:40 25 4
gpt4 key购买 nike

我在 powershell 脚本中使用并行 foreach。我在循环内传递外部变量时遇到问题。代码如下

[CmdletBinding()]
param (
$var1,
$var2,
$var3,
$var4
)


$MyArr | ForEach-Object -Parallel {


Invoke-Expression ".\myscript.ps1 -var1 $var1 -var2 $var2 -var3 $var3 -var4 $var4"


}

当执行它时我得到

myscript.ps1:缺少参数“var1”的参数。指定“System.Object”类型的参数,然后重试。

有办法解决吗?

问候谢谢

最佳答案

使用 using: special scope modifier让 PowerShell 将值复制到底层运行空间:

$MyArr | ForEach-Object -Parallel {
.\myscript.ps1 -var1 $using:var1 -var2 $using:var2 -var3 $using:var3 -var4 $using:var4
}

关于powershell - Foreach parallel 缺少参数 'xxx' 的参数。指定一个 'System.Object'类型的参数再试一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73910545/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com