3 min read
Für besseren Überblick: Wandle Fehlerobjekte in Datenobjekte um
Müde vom Jonglieren mit der PowerShell-Fehlerbehandlung? Hier kommt ein Überblick über verschiedene Strategien, mit...
PowerShell-Erfolgsrezepte – die Profi-Tipps für effektives Scripting
Hier kommt die nächste Strategie zur Fehlerbehandlung, nachdem wir zuvor die Echtzeit und verzögerte Fehlerbehandlung kennen gelernt haben.
Es gibt zwei Standardstrategien für die Fehlerbehandlung, die bereits in dieser Serie behandelt wurden:
Hier ist der dritte Ansatz, der die Vorteile der beiden Standardansätze kombinieren kann: Er behandelt Fehler in Echtzeit, sofort wenn sie auftreten, und er erfordert nicht, dass Cmdlets abbrechen oder ‑ErrorAction Stop verwenden:
Get-ChildItem -Path C:\Windows -Depth 1 -Filter *.log 2>&1 |
ForEach-Object {
if ($_ -is [System.Management.Automation.ErrorRecord]) {
$text = $_ | Convert-ErrorRecord | Out-String
Write-Host $text
}
else {
$_
}
}
Wiedu siehst, verwendet das Cmdlet (in diesem Beispiel Get‑ChildItem) überhaupt keine ‑ErrorAction. Es läuft völlig unbeeinflusst von jeglicher Fehlerbehandlung.
Stattdessen werden alle ausgegebenen Fehler aus Stream #2 in den regulären Ausgabestream #1 umgeleitet und können nun die Pipeline hinunterlaufen. Auf diese Weise können sie in Echtzeit gestreamt werden.
Das Cmdlet ForEach‑Object kann dann die Ausnahmen von Stream #2 von der regulären Ausgabe von Stream #1 trennen und die empfangenen Ausnahmen in Echtzeit behandeln, während das Cmdlet gleichzeitig seine Arbeit ohne Unterbrechung erledigen kann.
Entfessele das volle Potenzial von PowerShell mit unserem praktischen Poster. Egal, ob frischer Einsteiger oder erfahrener Profi, dieser Spickzettel ist so konzipiert, dass du schnell die wichtigsten und am häufigsten verwendeten Cmdlets findest.
Das Poster ist zum Download und in Papierform erhältlich.
Nov 4, 2024 by Aleksandar Nikolić und Dr. Tobias Weltner
Müde vom Jonglieren mit der PowerShell-Fehlerbehandlung? Hier kommt ein Überblick über verschiedene Strategien, mit...
Okt 30, 2024 by Aleksandar Nikolić und Dr. Tobias Weltner
Verabschiede dich von fest codierten Pfaden und Einstellungen! Vereinfache deine PowerShell-Skripte, indem du...
Okt 30, 2024 by Aleksandar Nikolić und Dr. Tobias Weltner
Möchtest du deine PowerShell-Funktionen benutzerfreundlicher gestalten? Entdecke, wie du ganz einfach hilfreiche Links...
Tobias Weltner und Aleksandar Nikolić haben gemeinsam die Blogpost-Reihe „Tobias&Aleksandars PowerShell-Tipps“ verfasst. Deshalb möchten wir euch beide hier vorstellen:
----------------------------
Aleksandar Nikolić ist ein Microsoft Azure MVP und Mitbegründer von PowerShellMagazine.com, der ultimativen Online-Ressource für PowerShell-Enthusiasten. Mit über 18 Jahren Erfahrung in der Systemadministration ist er ein angesehener Trainer und Redner, der rund um den Globus reist, um sein Wissen und seine Fähigkeiten über Azure, Entra und PowerShell weiterzugeben. Er hat auf IT-Veranstaltungen wie Microsoft Ignite, ESPC, NIC, CloudBrew, NTK und der PowerShell Conference Europe gesprochen.
----------------------------
Tobias ist ein langjähriger Microsoft MVP und war von Anfang an an der Entwicklung von PowerShell beteiligt. Er hat die PowerShell IDE „ISESteroids“ erfunden, zahlreiche Bücher über PowerShell für Microsoft Press und O'Reilly geschrieben, die PowerShell Conference EU (psconf.eu) gegründet und trägt derzeit als Mitglied der „Microsoft Cmdlet Working Group“ zur Weiterentwicklung der PowerShell bei. Tobias gibt sein Wissen als Berater in Projekten und als Trainer in Inhouse-Schulungen für zahlreiche Unternehmen und Agenturen in ganz Europa weiter.