Manchmal möchte man gar nicht wissen, wenn es etwas nicht funktioniert. Man möchte es auch nicht sehen. Wenn dieser Zustand eintritt, dann hilft der Parameter SilentlyContinue. Es wird dadurch ruhiger und doch weitergemacht. Die PowerShell wird zur Ruhe-Oase …
SilentlyContinue in Action
Man möchte den Ordner Temp nach TXT Dateien durchsuchen und das Ganze protokollieren. Jetzt treten da aber ganz fiese Fehlermeldungen auf.
Get-ChildItem C:\Temp\ -Recurse -Filter *.txt
Das Ergebnis zeigt einen Treffer, die Datei Datei1.txt. Das passt. Rot macht mich nervös. Bei Gelb teilt mir Windows etwas mit, meist gar nicht so schlimm, aber Rot geht gar nicht. Die Lösung: Der Common Parameter SilentlyContinue.
Get-ChildItem C:\Temp\ -Recurse -Filter *.txt -ErrorAction SilentlyContinue
Der Fehler hat sich nicht in Luft aufgelöst, denn im Fall der Fälle möchte man wissen, ob was war. Dafür gibt es die Variable $error.
Interessant ist auch, dass PowerShell Fehler unterschiedlich interpretiert. Das bedeutet, dass -SilentlyContinue nicht mit allen Cmdlets funktioniert.
Weitere wichtige Common Parameter sind in meinem Beitrag PowerShell Parameters: Confirm und WhatIf beschrieben.
Categories: PowerShell