2017-01-17 2 views
1

Можете ли вы привести пример возврата кода ошибки 1 при ошибке с помощью PowerShell?Как вернуть код ошибки 1 при ошибке от PowerShell?

Например, обрабатывающая эту ситуацию:

if ($serviceUserName) { 
    cmd /c $serviceBinaryFinalPath install -username:$serviceUserName -password:$serviceUserPassword -servicename:"$ServiceName" -displayname:"$serviceDisplayName" -description:"$serviceDescription" 
} else { 
    cmd /c $serviceBinaryFinalPath install --localsystem -servicename:"$ServiceName" -displayname:"$serviceDisplayName" -description:"$serviceDescription" 
} 
+0

'try {bla-bla-bla} catch {exit 1}' – 4c74356b41

+0

Почему 'cmd/c'? Вам это не нужно. –

ответ

2

Вы бежите внешние команды там, так что вы должны проверить automatic variable$LastExitCode для обнаружения ошибок:

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

Или просто выход с выходом код последней внешней команды:

exit $LastExitCode 

Обратите внимание, что некоторые внешние команды (например, robocopy) используют коды выхода не только для ошибок сигнализации, но также для предоставления информации о состоянии без ошибок.

+0

О, я даже не заметил, что он не использует команду powershell :( – 4c74356b41