2017-04-26 61 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