PowerShell: Out-GridView für die Darstellung von Daten

Ich habe oft keine Lust lange Filter in der PowerShell für große Datenmengen einzutippen. Ich habe mir daher angewöhnt die Daten nachträglich zu filtern. Das PowerShell CMDLet “Out-GridView” erleichtert dieses Vorgehen ungemein.

Mit “Out-GridView” lassen sich Daten in Tabellenform darstellen und unterschiedlich sortieren. Gerade wenn man sich schnell einen Überblick verschaffen will, ist diese Funktion hilfreich.

So bekommt man zum Beispiel einen schnellen Überblick über die Exchange Postfachgrößen.

Get-Mailbox | Get-MailboxStatistics | select displayname,*size* | Out-GridView

Mit einem Klick auf die Spalte “TotalItemSize” wird die Tabelle nach den größten Postfächern sortiert:

SNAGHTMLca6f3e

Möchte man danach schnell die Tabelle nach “Gelöschten Elementen” sortieren, reicht ein Klick auf “TotalDeletedItemSize”. So muss kein neuer Befehl in der PowerShell eingegeben werden.

Auch die Darstellung größerer Datenmengen mit vielen Spalten ist kein Problem, da die Reihenfolge der Spalten nachträglich angepasst werden kann. Ebenfalls könne Spalten nachträglich ausgeblendet werden.

Zum Beispiel liefert der folgende Befehl ziemlich detaillierte Daten zu den Postfachstatistiken:

Get-Mailbox -resultsize unlimited | Get-MailboxStatistics | select * | Out-GridView

image

Durch das Sortieren und Ausblenden von Spalten lassen sich auch diese Daten wieder übersichtlich darstellen:

SNAGHTML4a3512

Durch Filter lassen sich diese Daten dann weiter einschränken:

image

Auch für die Message Tracking Logs funktioniert das wunderbar. So müssen keine langen Befehle mehr eingegeben werden, sondern man kann sich einfach die Daten später entsprechend zurecht legen.

Der folgende Befehl liefert zum Beispiel alle Mails der letzten 24 Stunden:

Get-MessageTrackingLog -start (get-date).adddays(-1) | select * | Out-GridView

SNAGHTMLcf8d0e

Durch das Ausblenden von Spalten und Kriterien lässt sich diese Datenflut aber einfach darstellen:

Out-GridView

Auch CSV-Dateien lassen sich auf die Weise schnell betrachten. Die Message Tracking GUI nutzt ebenfalls “Out-Gridview” für die Darstellung der Daten. Ebenfalls sehr praktisch in Verbindung mit “get-aduser”.

Vielleicht hilft es ja jemanden weiter…

Kleiner Tipp: Alle Message Tracking Logs der letzten 5 Jahre, oder die 5 GB CSV Datei, würde ich jetzt nicht unbedingt mit “Out-GridView” darstellen. Hier muss entsprechend gefiltert werden.

3 Gedanken zu „PowerShell: Out-GridView für die Darstellung von Daten“

  1. Moin,
    ja, GridView ist Klasse. Besonders cool ist der -passthru Modus. Aber zwei Dinge nerven doch gewaltig:
    1. Die erste Zeile ist bei der Anzeige immer ausgewählt.
    2. Es ist offenbar nicht feststellbar (wer weiß, wie es geht, möge mir bitte bescheid sagen), ob man „Cancel“ geklickt, oder alle Zeilen abgewählt und „OK“ geklickt hat. In beiden Fällen kommt kein Objekt und nicht etwa eine leere Collection des ursprünglichen Typs zurück.

    Antworten

Schreibe einen Kommentar