PowerShell 7: Zugriff auf den letzten Fehler

Der Dotnet-Doktor  –  0 Kommentare

Seit PowerShell 7.0 kann man die letzten aufgetretenen Fehler mit dem Commandlet Get-Error abrufen.

Im vorherigen Teil dieser PowerShell-Serie in meinem Blog ging es um die Ausgabe von Fehlern, nachdem diese auftreten. Hier geht es nun um den späteren Zugriff auf die letzten Fehler.

Die eingebaute Variable $Error enthält in PowerShell seit Version 1.0 die gesamte Geschichte der aufgetretenen Fehler in Form von Objekten des Typs System.Management.Automation.ErrorRecord, die jeweils in Unterobjekten Details liefern, zum Beispiel ist das .NET-Fehlerobjekt in der Eigenschaft Exception.$Error[0] der letzte aufgetretene Fehler.

Seit PowerShell 7.0 kann man den letzten Fehler alternativ mit dem Commandlet Get-Error abrufen. Es liefert eine Instanz von System.Management.Automation.ErrorRecord#PSExtendedError. Mit dem Parameter -newest x kann man die x letzten Fehler abrufen.

PowerShell 7 zeigt für Instanzen der Klasse ErrorRecord eine deutlich detailliertere Ausgabe als die Windows PowerShell.

Vergleich der Fehlerausgabe in Windows PowerShell 5.1 und PowerShell 7.0