PowerShell 7: Verbesserte Fehlerdarstellung

Der Dotnet-Doktor  –  0 Kommentare

Seit PowerShell 7.0 ist "ConciseView" der neue, übersichtlichere Standard für die Fehlerausgabe.

Die Ausgabe von Fehlern ist in PowerShell bis einschließlich PowerShell 6.2 auf zwei Weisen (NormalView und CategoryView) und seit PowerShell 7.0 auf drei Weisen möglich (NormalView, CategoryView und NormalView).

Neue ConciseView

Die Darstellung der Fehler steuern PowerShell-Nutzer über die eingebaute Variable $ErrorView. Vor PowerShell 7.0 war "NormalView" der Standard. Seit PowerShell 7.0 ist "ConciseView" der neue, übersichtlichere Standard (bei Skriptausführung mit Zeilennummern). Die stark verkürzte und oft nicht hilfreiche Ansicht "CategoryView" gibt es weiterhin.

"Standard bei ErrorView ist: " + $ErrorView
Write-host "########### Fehlerausgabe mit NormalView" -ForegroundColor Yellow
$ErrorView = "NormalView"
"Beispielfehler 1: Division durch 0"
1/0
"Beispielfehler 2: Ungültiger Pfad"
Dir c:\unsinn

Write-host "########### Fehlerausgabe mit CategoryView" -ForegroundColor Yellow
$ErrorView = "CategoryView"
"Beispielfehler 1: Division durch 0"
1/0
"Beispielfehler 2: Ungültiger Pfad"
Dir c:\unsinn

Write-host "########### Fehlerausgabe mit ConciseView" -ForegroundColor Yellow
$ErrorView = "ConciseView"

"Beispielfehler 1: Division durch 0"
1/0
"Beispielfehler 2: Ungültiger Pfad"
Dir c:\unsinn
Wirkung der verschiedenen Optionen für $ErrorView in PowerShell 7

Farben

Der Kontrast zwischen dem dunkelblauen Hintergrund des PowerShell-Fensters und der Ausgabe der Zeilennummern ist nicht sehr hoch. Wer diesen Standard ändern will, kann dies mit folgendem Befehl tun:

$Host.PrivateData.ErrorAccentColor = "yellow" # Standard ist cyan

Farben bei den Fehlern sieht man nur in Implementierungen der PowerShell-Konsole, die ANSI Color Escape Sequences (VT100) unterstützen.