Microsoft und Umwelt

Nachhaltigkeit und Umweltthemen mit Softwarebezug

Windows PowerShell Exit Codes: wie nutzen?

Windows PowerShell Exit Codes: wie nutzen?

  • Comments 1
  • Likes

Als kurze Ergänzung zum MVP Tag und für alle PowerShell Fans: Windows PowerShell bietet (wie andere Skriptsprachen auch) die Möglichkeit, eigene Exit-Codes zu definieren. In PowerShell schreibt man dazu z.B. einfach den Befehl Exit 123, um den Rückgabewert 123 zu übergeben.

Ist dies jedoch in einem Skript eingebettet und ruft man das Skript von einer Batch-Datei auf, so lautet bekommt man nicht diesen Wert. Lautet das Skript z.B. Test-exitcode.ps1 mit Inhalt exit 123, dann erzeugt die Zeile

c:\> PowerShell -command "& { c:\test-exitcode }"

lediglich als Rückgabewert 0:

c:\> echo %errorlevel

0

Das liegt daran, dass der Rückgabewert hier von der PowerShell EXE kommt, welche erfolgreich beendet wurde und somit den Wert 0 generiert. Um den eigentlich gewünschten Wert 123 zu erhalten, muss man dies lediglich der PowerShell mitteilen:

C:\>powershell -command "& { c:\test-exitcode.ps1; exit $lastexitcode }"

C:\>echo %errorlevel%
123

So einfach ist das.

Comments
  • Ich habe per Add-PSSnapin die SCOM Command Shell eingebunden. Per Power Shell lassen sich SCOM-tasks starten. Allerdings gelingt es mir nicht, diese Command Shell entsprechend mit dem richtigen Returncode zur verlassen.

    Wille

Your comment has been posted.   Close
Thank you, your comment requires moderation so it may take a while to appear.   Close
Leave a Comment