Powershell脚本已完成,但退出并显示错误代码1

时间:2019-05-15 17:00:32

标签: powershell azure-devops

$myValue= (.\command.exe arguments | select -first 1)

我在Azure Devops管道中运行以上代码, $myValue包含了我期望的值,但我得到了:

##[error]PowerShell exited with code '1'.

我的任务完成后返回...没有人知道为什么吗?我不知道这是语法问题,还是我的command.exe做一些奇怪的事情来影响退出代码。

1 个答案:

答案 0 :(得分:1)

我没有看到整个脚本,我猜这是由于known issue与Powershell的缘故:Select -First即使成功也会填充ErrorVariable。此代码可复制:

PS > 1..2 | Select -First 2 -ErrorVariable X; $X | select *
 1
 2

RequestingCommandProcessor : Select-Object
 Message : System error.
 Data : {}
 InnerException :
 TargetSite : Void ProcessRecord()
 StackTrace : at Microsoft.PowerShell.Commands.SelectObjectCommand.ProcessRecord()
 at System.Management.Automation.CommandProcessor.ProcessRecord()
 HelpLink :
 Source : Microsoft.PowerShell.Commands.Utility
 HResult : -2146233087

您可以忽略$Error.HResult -eq -2146233087的任何错误,这是一种解决方法。