Wie kann ich mit powershell die Rückkehr der korrekte exit-code beim Aufruf mit der -Datei-argument?
Powershell zurückgegeben 0 exit-code, wenn ein Fehler aufgetreten ist, wenn der Aufruf mit der -Datei-argument. Was bedeutet mein build ist grün, wenn es sollte nicht sein 🙁
Beispiel:
(in wtf.ps1)
$ErrorActionPreference = "Stop";
$null.split()
(cmd)
powershell -file c:\wtf.ps1
You cannot call a method on a null-valued expression.
At C:\wtf.ps1:3 char:12
+ $null.split <<<< ()
+ CategoryInfo : InvalidOperation: (split:String) [], ParentConta
insErrorRecordException
+ FullyQualifiedErrorId : InvokeMethodOnNull
echo %errorlevel%
0
powershell c:\wtf.ps1
You cannot call a method on a null-valued expression.
At C:\wtf.ps1:3 char:12
+ $null.split <<<< ()
+ CategoryInfo : InvalidOperation: (split:String) [], ParentConta
insErrorRecordException
+ FullyQualifiedErrorId : InvokeMethodOnNull
echo %errorlevel%
1
Irgendwelche Ideen?
(Ich habe versucht so ziemlich jede Idee aus den ersten 2 Seiten dieses: https://www.google.co.uk/search?q=powershell+Datei+argument+exit+code schon)
InformationsquelleAutor der Frage grahamrhay | 2012-05-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
In der Skript, verwenden Sie die exit-Schlüsselwort mit einer Zahl Ihrer Wahl:
Hier ist das script, das ich verwendet, um dies zu testen:
InformationsquelleAutor der Antwort Shay Levy
Ist es ein bekanntes problem. Problemumgehungen sind dem Aufruf der script-with-File, mithilfe der -Befehl-parameter (und hinzufügen ; exit $lastexitcode wenn Sie haben auch Ihre eigene exit-codes) oder wandeln Sie in exit-codes wie Shay ist, zu zeigen, oder das Beispiel mit trap unten. Sehen hier für weitere Informationen.
InformationsquelleAutor der Antwort Lars Truijens