2017-04-26 64 views
1

我在远程服务器上运行的脚本(窗口):停止詹金斯的工作,如果发生错误

Invoke-Command -ComputerName myserver -ScriptBlock { D:\DeployScript\myscript.bat } -credential $Cred -ErrorAction Stop 

这个“myscript.bat”里面我运行PSEXEC命令:

psexec -i -h -u myserver\Administrator -p mypassword {mycommands} 

我怎么能告诉詹金斯如果在“myscript.bat”

(我必须使用PSEXEC因为剧本需要交互式桌面)

出现错误,停止

谢谢!

回答

2

在PowerShell中你可以使用自动变量$lastexitcode的最后一个命令的退出代码,所以尝试这样的:

if ($lastexitcode -ne 0) { exit 1 } 

甚至更​​好:

exit $lastexitcode 
+0

谢谢!我会尝试一下。PowerShell脚本会知道psexec会抛出一个错误吗?我不需要:转发“它? – abovebeyond15

+0

可能这将帮助http://stackoverflow.com/questions/334879/how-do-i-get-the-application-exit-code-from-a-windows-command- line @ abovebeyond15 – 4c74356b41