Auflistung von Exchange Statistiken per PowerShell

Wer vor der Migration von einem Exchange Server steht, der muss an einem gewissen Punkt der Vor-Überlegungen wissen, wie viele Postfächer existieren, welche Größe diese Postfächer besitzen, welche Datenbanken existieren usw.

Man könnte sich diese Daten natürlich auch per Hand besorgen, ein Auslesen per Windows PowerShell ist hier aber deutlich einfacher und schneller. Da ich mir ein paar Zeilen Code zusammengesammelt und auf meine Bedürfnisse angepasst habe, hier eine kleine Übersicht, sowohl für euch als auch für mich später 🙂

Welche Datenbanken existieren?

Wenn man erst einmal nicht viel von der Umgebung weiß und nur Zugangsdaten sowie einen Servernamen hat, kann man mit dem Auslesen der aktuellen Datenbanken beginnen. Dies und alle weiteren Befehle müssen (natürlich) in der Exchange Management Shell abgesetzt werden, nicht in einer einfachen PowerShell, da hier die Cmdlets fehlen.

Dieser Befehl führt alle Datenbanken auf, die auf dem entsprechenden Server vorhanden sind. Somit haben wir erst einmal einen Überblick darüber, wie viele Datenbanken existieren und wie diese heißen.

Die Mailboxen in diesen Datenbanken

Um nun die Postfächer in diesen Datenbanken aufzuführen, erweitern wir den Befehl ein wenig und beginnen damit, eine einzelne Datenbank anzusprechen.

Spricht man direkt die gewünschte Datenbank an, zeigt ein “Get-Mailbox” die verfügbaren Postfächer an.

Diese kurze Übersicht ist allerdings nicht wirklich aussagekräftig, außer das halt alle Postfächer aufgeführt werden zusammen mit der Info, wie hoch das Quota liegt. Daher gehen wir jetzt noch ein paar Schritte weiter und verfeinern die Ergebnisse auf unsere Bedürfnisse.

Anzahl der Postfächer auflisten

Manchmal kann die Menge der Postfächer, unabhängig von der Größe, eine wichtige Information sein. Dies geht sehr einfach, einfach ne Klammer um den Befehl und ein .count dahinter und schon wird die PowerShell dazu gebracht, uns die Anzahl der Postfächer anzuzeigen.

Erweiterte Statistiken ausgeben und filtern

Die reine Menge ist nicht wirklich ein Indiz dafür, wie groß die Postfächer sind und wie lange eine Migration dauern könnte. Daher verfeinern wir die Abfrage noch weiter und schauen uns erst einmal an, welche Werte wir überhaupt bekommen können. Der folgende Befehl zeigt für ein einzelnes Postfach alle verfügbaren Informationen an. Dies ist sehr viel, wobei einige mögliche Werte auch in meinem Fall leer bleiben.

Aus diesen Werten kann ich nun die für mich relevanten Werte heraussuchen und die Abfrage so filtern, dass nur diese Werte ausgegeben werden. Weiterhin können diese Werte so umgelabelt und umgerechnet werden, dass sie in einer Form bzw. einer Größe ausgegeben werden, die mir persönlich am besten gefällt. Hier möchte ich z.B. die Größe in MB haben, nicht in Byte oder Gigabyte.

Sortierung nach Größe

Diese Liste kann natürlich auch sortiert werden, um das größte Postfach oben anzeigen zu lassen, das zweitgrößte danach usw. Dies gelingt mit dem hinzufügen von dem Code Sort-Object TotalItemSize –Descending. Der Code sieht dann wie folgt aus:

Als Ergebnis sieht man die Ergebnisse in einer übersichtlichen und sortierten Übersicht:

Soll die Ausgabe in eine Datei geschrieben werden, um sie nachträglich noch bearbeiten oder anderweitig nutzen zu können, muss die Ausgabe um einen weiteren Befehl erweitert werden.

Die Ausgabe erfolgt nun in eine Datei, die den Server-Namen und den Datenbank-Namen enthält. So ist eine Zuordnung direkt möglich und die Datei wird bei anderen Datenbanken nicht direkt überschrieben.

Alle Datenbanken in einer Schleife abfragen

Wenn wir nun alle Datenbanken von einem Server abfragen möchten, geht dies natürlich auch in der PowerShell. Wir verwenden dazu eine kleine Schleife, die alle Datenbanken nach und nach abfragt und die Ergebnisse mit dem bereits aufgeführten Skript in jeweils eine Datei schreibt.

Fazit

Die Abfrage von Informationen in einem Exchange Server gestaltet sich mit der Windows PowerShell sehr einfach, wenn man die entsprechenden Befehle kennt und weiß, wie man die Daten ansprechen kann. Ich hoffe, ich kann mit diesem Artikel ein klein wenig Licht ins Dunkel bringen und kann dem ein oder anderen bei einer Migration oder Dokumentation helfen.

Jan

Jan Kappen arbeitet sein 2005 in der IT. Er hat seine Ausbildung 2008 abgeschlossen und war bis 2018 als IT-Consultant im Bereich Hyper-V, Failover Clustering und Software Defined Storage unterwegs. Seit 2015 wurde er jährlich von Microsoft als Most Valuable Professional (MVP) im Bereich "Cloud & Datacenter Management" ausgezeichnet für seine Kenntnisse und die Weitergabe seines Wissens. Jan ist häufig auf Konferenzen als Sprecher zu finden, weiterhin bloggt er viel. Seit September 2018 ist Jan als Senior Network- und Systemadministrator bei einem großen mittelständischen Unternehmen im schönen Sauerland angestellt. In seiner Freizeit kümmert er sich um das Freifunk-Netzwerk in Winterberg und Umgebung.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.