当我在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.命令.测量命令命令
1条答案
按热度按时间tez616oj1#
无法使用指定的命名参数解析参数集
我可以重现此问题。此问题的根本原因是PowerShell 7支持以下命令:
ForEach-Object -Parallel
.此问题与PowerShell版本相关。
以下是有关Powershell 7信息的文档:
基于ForEach-Object-Parallel的流水线并行化
在Azure devops中,默认情况下使用WindowsPowerShell 5.1。
要解决此问题,您需要选择以下选项:* * 在Azure PowerShell任务-〉高级中使用PowerShell核心**:
然后在代理中使用Powershell 7,命令可以成功执行。