Azure devops管道任务错误:测量-命令调用失败

pu82cl6c  于 2023-01-05  发布在  其他
关注(0)|答案(1)|浏览(123)

当我在VS代码中调试以下代码行时,它工作正常。但是,当此代码在azure devops(发布管道azure PowerShell任务)中执行时,我得到以下任务错误。azure PowerShell任务版本= ~ 5。* 此版本特定吗?

(Measure-Command {
        1..200 | ForEach-Object -Parallel $testScript -ThrottleLimit 5
    }).TotalMinutes

**错误:**2020-12- 16 T11:25:36.6181969Z + $所用时间=(测量-命令{ 2020-12- 16 T11:25:36.6183027Z + ~~~~~~~~~~~~~~~~~~~~~~~~ 2020-12- 16 T11:25:36.6184374Z +类别信息:元数据错误:(:)[测量-命令],参数绑定异常2020-12- 16 T11:25:36.6185735Z +完全限定的错误ID:不明确的参数集,Microsoft.PowerShell.命令.测量命令命令

tez616oj

tez616oj1#

无法使用指定的命名参数解析参数集
我可以重现此问题。此问题的根本原因是PowerShell 7支持以下命令:ForEach-Object -Parallel.
此问题与PowerShell版本相关。
以下是有关Powershell 7信息的文档:
基于ForEach-Object-Parallel的流水线并行化
在Azure devops中,默认情况下使用WindowsPowerShell 5.1。
要解决此问题,您需要选择以下选项:* * 在Azure PowerShell任务-〉高级中使用PowerShell核心**:

然后在代理中使用Powershell 7,命令可以成功执行。

相关问题