Fehler unterdrücken mit SilentlyContinue in PowerShell

In PowerShell werden oft Aufgaben ausgeführt, in denen die Chance groß ist, dass ein Fehler auftritt. Wenn man nichts im PowerShell Script angibt, dann kann dieser Fehler das Script pausieren oder sogar komplett abbrechen. Abhilfe schafft der Parameter SilentlyContinue, welcher Fehler unterdrücken kann.

PowerShell Fehler unterdrücken mit -ErrorAction SilentlyContinue

Führt man eine Ausgabe aus kann es passieren, dass PowerShell mit roter Schrift einen Fehler ausgibt. Manchmal sind es keine schlimmen Fehler, wie beispielsweise beim Durchsuchen von Verzeichnissen. Hier durchsuchen wir ein Verzeichnis, haben aber auf eines keinen Zugriff. PowerShell meldet einen Fehler, da wir das SilentlyContinue noch nicht angegeben haben um den Fehler zu unterdrücken.

Get-ChildItem C:\Windows\ -Recurse -Filter *.txt
PowerShell Get-Childitem Error

Wie man sieht werden die Verzeichnisse, auf die der Benutzer keine Lese-Berechtigung besitzt als Fehler ausgegeben. Nun kommt der Parameter -ErrorAction SilentlyContinue zum Einsatz. Nun können zwar die Ordner immer noch nicht gelesen werden, allerdings werden die Fehler jetzt unterdrückt.

Get-ChildItem C:\Windows\ -Recurse -Filter *.txt -ErrorAction SilentlyContinue
PowerShell -ErrorAction SilentlyContinue Fehler unterdrücken

Nun werden die Fehler beim Durchsuchen unterdrückt, also nicht angezeigt. Das bedeutet, dass das PowerShell Script durch den Parameter SilentlyContinue ohne Fehler läuft und nicht abbricht.

In dem Fall, dass man den Fehler doch anzeigen möchte, ist dieser nicht verloren. In PowerShell gibt es die Variable $error, welche den letzten Fehler automatisch beinhaltet. Diese kann man entweder ausgeben lassen, oder mit $error.Count zählen. Ein Fehler beim Ausführen kann auch an der Execution Policy liegen.

Johannes Huber
 

In seiner Freizeit macht Johannes nichts lieber, als für ITnator Beiträge zu schreiben. Input bekommt er hierfür von Problemen in der IT Administration von Servern, Clients und vielen weiteren IT Komponenten.

Click Here to Leave a Comment Below 0 comments