繁体   English   中英

Azure devops 管道任务错误:Measure-Command 调用失败

[英]Azure devops pipeline task error : Measure-Command invocation fails

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

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

错误: 2020-12-16T11:25:36.6181969Z + $timeTaken = (Measure-Command { 2020-12-16T11:25:36.6183027Z + ~~~~~~~~~~~~~~~~~~ 2020 -12-16T11:25:36.6184374Z + CategoryInfo: MetadataError: (:) [Measure-Command], ParameterBindingException 2020-12-16T11:25:36.6185735Z + FullyQualifiedErrorId: AmbiguousParameterSet,Microsoft.PowerShell.Commands.MeasureCommandCommand

无法使用指定的命名参数解析参数集

我可以重现这个问题。 此问题的根本原因是 PowerShell 7 支持命令: ForEach-Object -Parallel

此问题与 PowerShell 版本有关。

这是有关 Powershell 7 信息的文档

使用 ForEach-Object -Parallel 的管道并行化

在 azure devops 中,默认使用 WindowsPowerShell 5.1。

要解决此问题,您需要 select 选项: Use PowerShell Core in Azure Z3D265B4E0031DCCZB78 -> 高级

在此处输入图像描述

然后它会在代理中使用Powershell 7 并且命令可以成功执行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM