Hast du dich jemals gefragt, „Was ist der beste Weg, um ein Skript zu beenden oder eine Anweisung in PowerShell zu beenden?“ Wird die PowerShell-Sitzung mit dem PowerShell-Exit-Befehl geschlossen? Wie können benutzerdefinierte Exit-Codes zurückgegeben werden? Nun, du hast Glück!
In diesem Leitfaden werden diese Fragen und mehr beantwortet. Erfahre alles über die verschiedenen Möglichkeiten, ein PowerShell-Skript oder eine Sitzung zu beenden.
Machen wir uns bereit, einige PowerShell-Sitzungen und Skripte zu beenden!
Voraussetzungen
Um diesem Leitfaden folgen zu können, stelle sicher, dass Windows PowerShell oder PowerShell Core auf deinem Computer installiert ist. Die Beispiele in diesem Artikel verwenden PowerShell 7.1.4.
Beenden der Konsole und Skripte mit dem PowerShell-Exit-Befehl
Lasst uns in diesem Tutorial eintauchen und zuerst das Schlüsselwort exit
behandeln, eines der vielen reservierten Wörter in PowerShell. Ein reserviertes Wort ist eine Zeichenkombination, die in PowerShell integriert ist und eine bestimmte Aktion ausführt. Bei dem Schlüsselwort exit
besteht die Aktion darin, dass PowerShell eine PowerShell-Sitzung beendet.
Üben wir! Öffne eine PowerShell-Konsolensitzung, gib exit
ein und drücke die Eingabetaste. Die PowerShell-Konsole wird sofort geschlossen.
Dieses Schlüsselwort kann auch ein Skript beenden, anstatt die Konsolensitzung zu beenden. Wenn das Schlüsselwort exit
in ein Skript eingefügt wird und exit
nur das Skript beendet und nicht die gesamte Konsolensitzung, in der das Skript ausgeführt wird.
Kopieren Sie den folgenden Code und fügen Sie ihn in Notepad ein. Speichern Sie das Skript als test.ps1 im Verzeichnis C:\Temp. Führen Sie das PowerShell-Skript aus, indem Sie den Befehl .\text.ps1
wie im folgenden Screenshot gezeigt ausführen. Beachten Sie, dass PowerShell anstatt die Sitzung zu schließen, das Skript beendet und die Kontrolle an den Eingabeaufforderung der aktuellen PowerShell-Sitzung zurückgibt.

exit
keyword stopped the script execution, but the console is still running Empfangen und Bereitstellen von Feedback mit Exit-Codes
Das exit
-Kommando ist hilfreich, wenn Sie möchten, dass ein Skript oder eine Funktion einige Code ausführt und dann beendet wird. Sie erhalten jedoch keine Rückmeldung, ob das Skript erfolgreich ausgeführt wurde oder nicht.
Wenn PowerShell den letzten Befehl in einem Skript ausführt, speichert es den Exit-Code dieses letzten Befehls in der Variable $LASTEXITCODE
.
Es gibt zwei Standard-Exit-Codes:
- 0 – Erfolg: normaler Abschluss
- 1 – Fehler: eine unbehandelte Ausnahme
PowerShell beschränkt Sie nicht auf 0
und 1
als Exit-Codes. PowerShell ermöglicht es Ihnen, benutzerdefinierte Exit-Codes zurückzugeben, solange sie Ganzzahlen sind.
Der Wertebereich für den Exit-Code ist plattformabhängig. Auf Windows sind beliebige 32-Bit-ganze Zahlen erlaubt. Auf Unix sind nur positive 8-Bit-ganze Zahlen erlaubt.
Um PowerShell mit einem benutzerdefinierten Exit-Code zu beenden, können Sie den Exit-Code als Argument für das Schlüsselwort exit angeben.
Kopieren und fügen Sie den folgenden Code in die vorhandene Datei test.ps1 ein und führen Sie das Skript mit dem Befehl .\Test.ps1
aus. Überprüfen Sie den Inhalt der Variablen $LASTEXITCODE
. Indem Sie PowerShell anweisen, mit einem Exit-Code von 55
zu beenden, hat es dies getan, wie Sie unten sehen können.

Abbrechen von Schleifen mit Break
Es wird Momente geben, in denen das Verhalten von exit
nicht akzeptabel ist, wie z.B. das Beenden einer Funktion. Schauen wir, wie das Schlüsselwort break
hilft.
Das Schlüsselwort break
lässt PowerShell eine Schleife stoppen. Nach einem break
wird der Code mit der nächsten Iteration fortgesetzt.
Pausen sind hilfreich in PowerShell-Schleifen wie der foreach, while, do-while und Switch-Anweisungen, da Sie steuern können, wo Ihr Code anhält, bevor er abgeschlossen ist.
Üben wir das Beenden von Schleifen. Unten sehen Sie einen Codeausschnitt mit einer for-Schleife. Die for-Schleife würde zehnmal durchlaufen, wenn nicht das break
vorhanden wäre. Das break
-Schlüsselwort wird ausgelöst, wenn der Iterator gleich acht ist. Sobald PowerShell das break
-Schlüsselwort findet, stoppt es die Schleife.
Sie können unten sehen, dass PowerShell die Schleife stoppt, wenn i
gleich 8 ist. Der Code geht nie zu 9. Sie haben erfolgreich eine for-Schleife abgebrochen.

Umleiten der Codeausführung mit Return
Das Schlüsselwort return
unterscheidet sich leicht von den vorherigen Schlüsselwörtern, da es keine Befehle beendet oder unterbricht. Dieses Schlüsselwort leitet die Codeausführung um. Es gibt die Ausführung an seinen Aufruf zurück, während es Ihnen ermöglicht, Werte zurückzugeben. Und nicht nur Ganzzahlen, wie exit
, bitte beachten Sie. Sie können jeden Typ zurückgeben! Diese Verhaltensweisen machen das Schlüsselwort return
vielseitiger als die vorherigen Schlüsselwörter.
Lassen Sie uns dies anhand eines Beispiels sehen: Erstellen einer Funktion zum Kombinieren von Wörtern. Kopieren Sie den folgenden Code in Ihre PowerShell-Sitzung:
Beachten Sie, wie der Wert, den Sie aus der Funktion zurückgeben, in der Ausgabe erscheint.

return
keyword Sie leiten die von der Funktion WordPairing
generierte $output
zurück an die Stelle, an der $output
aufgerufen wird.
Fazit
In diesem Handbuch haben Sie verschiedene Möglichkeiten kennengelernt, PowerShell-Sitzungen und Skripte zu beenden. Jede Methode basiert auf einem spezifischen Schlüsselwort. Jedes Schlüsselwort hat einen bestimmten Anwendungsfall. Wenn sie angemessen verwendet werden, geben Ihnen diese Schlüsselwörter enorm viel Kontrolle darüber, was Ihr Skript tut.
Jetzt, da Sie verschiedene Möglichkeiten kennen, um Ihre PowerShell-Sitzungen zu beenden, wie planen Sie, Ihre Skripte mit diesem neu gewonnenen Wissen zu verbessern?