Tools: MBReport

Achtung:
Dieses Skript steht nur unseren Kunden (Consulting, Fernwartung, Supportcall, Angebotsphase) zur Verfügung. Es ist nicht "downloadbar". Siehe auch Nicht public.
MBREPORT ist kein Plug'n Play Skript, sondern ein Werkzeugkasten für dessen Einsatz VBScript Kenntnisse zwingend erforderlich sind. Die Ausgaben sind ebenfalls nur mit Excel und anderen Tools zu verarbeiten.
Wenn sie eine "einfache" grafische Software zur Ermittlung von Exchange Belegungen suchen, dann ist der Exchange Profile Analyzer (EPA) besser geeignet.

Mit Exchange 2007 können Sie in gewissem Umfang einen Teil der Informationen über das Commandlet "Get-MailboxStatistics" oder den Exchange Performance Analyzer erhalten.
Zudem hat das Exchange Team ein Powershell Skript erstellt:
Finding High Item Count Folders Using the Exchange Management Shell
http://blogs.technet.com/b/exchange/archive/2009/12/07/453450.aspx

Exchange 2010 liefert weitere Powershell-Befehle wie Get-MailboxFolder (http://technet.microsoft.com/en-us/library/dd351164.aspx)

Ich wette, dass alle Firmen, die Microsoft Exchange einsetzen, auch die Funktion der Postfächer exzessiv nutzen. Für eine Firma kann es da schon einmal interessant sein, wie die Mitarbeiter die Postfächer nutzen. Der Exchange System Manager erlaubt zwar einen ersten Blick auf die Postfächer aber Sie sehen dabei im wesentlichen nur die Größe und die Anzahl der Elemente aber keine Details über Ordnerstrukturen und Elementarten. Zur Auswertung von öffentlichen Ordnern gibt es PFReport.

Hier ein paar Fragen, die sich ein Administrator oder Geschäftsführer schon mal stellen kann:

Sie sehen also, dass es jede Menge Gründe gibt, mehr über die Inhalte von Postfächern zu wissen. Das Ziel dieses Programms liegt nicht darin, die Inhalte selbst zu analysieren, sondern nur statistische Mengen zur weiteren Auswertung zu erfassen.

Funktionsweise

Das VBScript sollten Sie am einfachsten auf einem Exchange Server starten. Es liest aus dem Globalen Katalog alle Postfächer ihrer Organisation aus und verbindet sich dann mittels CDO1.21 mit jedem einzelnen Postfach. Damit dies funktioniert, muss der ausführende Anwender natürlich die erforderlichen Berechtigungen (Siehe Mailboxrechte) besitzen.

Das Script durchläuft dann rekursiv die Ordnerstruktur des kompletten Postfachs und extrahiert pro Ordner die Anzahl der Elemente, die Größe des Ordners und die Nachrichtenklasse. Zukünftig könnte auch ein Export der Berechtigungen, Formulare und Skripte interessant sein, aber ist aktuell nicht implementiert.

All diese Daten werden wie von vielen MSXFAQ-Skripten schon gewohnt, als XML-Datei niedergeschrieben. Diese XML-Datei können Sie mit dem passenden Stylesheet einfach im Internet Explorer anzeigen lassen oder mit einem anderen Stylesheet auch als CSV-Datei zur Weiterverarbeitung in Excel überführen. Für die eigentliche Auswertung eignet sich dann z.B.: die Pivot-Tabellen-Funktion von Excel.

Wenn Sie das Script auf bestimmte Postfächer oder Server eingrenzen wollen, ist aktuell der LDAP-Suchfilter im Script selbst zu editieren. Es gibt keine grafische Konsole oder Kommandozeile.

Download

Dieses Skript ist kein öffentlicher Download
Informationen, warum diese Skripte nicht öffentlich sind, finden Sie auf nicht public.
Aufgrund negativer Erfahrungen beim Einsatz durch andere Personen binde ich den Einsatz von MBReport an die Zustimmung des IT-Leiter oder Geschäftsführer der Exchange Organisation und meine Mithilfe. Eine Abgabe an Dienstleister, externe Berater oder Administratoren ist leider nicht mehr möglich.

Das Skript kann, mit entsprechenden Rechten aufgerufen, rekursiv durch alle (oder eine Auswahl) von Postfächern laufen, rekursiv die Ordner durchscannen und jedes einzelne Element entsprechend anschauen und je nach Rechten alles damit machen. Das Skript ist aber nur der "Rahmen" und die Auswertefunktionen sind natürlich vorab zu definieren, damit Sie in eine CSV-Datei o.ä. geschrieben werden.
Es hängt also etwas davon ab, was sie wie auslesen wollen. Die Basisfunktion ist schon, einfach das Alter und die Größe der Elemente (anlagen bzw. Mails) in CSV-Dateien zu bringen und damit dann eine Auswertung zu erlauben.

Sie sollten aber:

  1. Die erforderlichen Exchange Berechtigungen haben
  2. VBScript "können", denn das Skript muss sicher angepasst werden
  3. Mit CSV-Dateien umgehen können (also mindestens Excel Pivot-Tabellen Funktion
    Und wenn es VIELE Elemente sind mit anderen Reporttools arbeiten

Wenn die Anforderungen aber z.B. heißt, "Was spare ich, wenn ich alles älter 90 Tage und >100 KB archiviere" dann ist es besser das gleich im Skript als Abfrage zu codieren und einfach am Ende die Summer auszugeben. Auch aus Datenschutzaspekten, weil man dann gar nicht erst die Liste aller Anlagen mit Alter (die ja durchaus auch auf "*.MP3, *.FLV, *.AVI" etc. durchsucht werden kann, erhält.

Ich denke Sie verstehen spätestens jetzt auch meine Datenschutzbedenken und warum das Skript nicht einfach als Download auf der MSXFAQ steht. Ich kann ihnen das Skript gerne zukommen lassen, wenn Sie sich an VBScript "rantrauen". Die meisten Anfragen laufen dann aber so, dass ein Kollege von NetatWork oder ich selbst  vor Ort oder per Fernwartung das Skript mit dem Kunden gemeinsam umsetzen.

Wie kann ich sicherstellen, dass Sie "berechtigt" sind, so eine Datenanalyse zu machen ?.  Wenn Sie IT-Leiter sind, dann werden sie meine Vorsicht sicher verstehen und wenn Sie Azubi sind, dann sollten Sie das Vorgehen mit ihrem IT-Leiter/Datenschutzverantwortlichen besprechen.

Sie können das Skript gerne als Administrator oder anderweitig verantwortliche Person erhalten. Schreiben Sie einfach eine Mail von ihrem Firmenaccount an mit dem Betreff "MSXFAQ: MBReport" und vergessen Sie nicht die Angabe ihres Namens der Adresse und ihrer Funktion. Bitte haben Sie Verständnis, dass ich diese Skript nur an IT-Leiter o.ä. abgebe, damit man mir keine Vorwürfe machen kann, ich würde Hackerwerkzeuge verteilen.

Download und Aufruf

Achtung:
MBREPORT ist kein Plug'n Play Skript, sondern ein Werkzeugkasten für dessen Einsatz VBScript Kenntnisse zwingend erforderlich sind. Die Ausgaben sind ebenfalls nur mit Excel und anderen Tools zu verarbeiten.
Wenn sie eine "einfache" grafische Software zur Ermittlung von Exchange Belegungen suchen, dann ist der Exchange Profile Analyzer (EPA) besser geeignet.

Sammeln der Daten

Der erste Schritt ist das Sammeln der Daten von allen Postfächern. Eventuelle Einschränkungen auf Postfächer müssen Sie im Source direkt vornehmen.

cscript mbreport.vbs

Die Laufzeit des Scripts hängt direkt von der Größe der Postfächer, der Performance ihres Servers und des ausführenden PCs ab. Das Script zeigt den Fortschritt in einem Internet Explorer Fenster an, welches sie nicht beenden dürfen. Anhand der Gesamtanzahl der Postfächer, und der für die bisher abgeschlossenen Postfächer verbrauchte Zeit wird eine Schätzung der Endezeit vorgenommen, die natürlich bei ungleich verteilen Mailboxen und Servern nicht sehr genau sein kann.

Im Hintergrund arbeitet das Script in einer Dos-Box und protokolliert seine Arbeit zusätzlich in einer Protokolldatei. Lassen sie sich durch kleinere Warnungen wie "Error getting MAPI Property" nicht erschrecken. Nicht alle Ordner haben eine Message-Class.

Anzeige im Internet Explorer

Klicken Sie einfach direkt die XML-Datei an. In der XML-Datei ist das passende Stylesheet hinterlegt, welches vom VBScript auch bei jedem Lauf wieder angelegt wird.

Konvertierung zu CSV

Die Anzeige in einem Browser ist zwar ganz nett aber bei vielen Mailboxen müssen andere Auswerteprogramme herhalten. Excel oder Access sind dazu gute Startpunkte. Viele Programme bevorzugen dazu eine CSV-Datei, die problemlos aus der XML-Datei zu erstellen ist. Sie benötigen nur das Stylesheet und einen entsprechenden Konverter.

MBReport2csv.xsl
StyleSheet für die Umsetzung nach CSV

Die Konvertierung übernimmt die MSXSL.EXE. Sollten Sie MSXSL.EXE auf ihren PC noch nicht haben, dann helfen ihnen folgende beiden Links weiter

Starten Sie nach der Analyse der Postfächer einfach MSXSL.EXE mit der erzeugten XML-Datei als Quelle, dem Stylesheet und der gewünschten Ausgabedatei

msxsl.exe MailboxReport.xml MBReport2csv.xsl -o MailboxReport.csv

Diese CSV-Datei kann in Excel dann als Liste importiert werden.

Auswertung mit Excel Pivot Tabellen

Excel selbst ist aber auch sehr leistungsfähig und kann direkt XML-Dateien importieren und über die Listen und AutoFilter-Funktion können Sie direkt auf die Daten filtern. Hier am Beispiel, dass ich z.B.: alle Kontaktordner aller Mailboxen anzeigen will.

Das Ganze kann man natürlich noch in eine Pivottabelle überführen und damit sehr viel detaillierter Daten untersuchen. Hier habe ich in einer Pivot-Tabelle links den Pfad aufgelistet und die Anzahl der Mailboxen als Daten. Man sieht sehr gut, dass z.B.: vier Mailboxen einen Ordner für Notizen (IMP.Note) auf ihrer obersten Hierarchie haben. Klicke ich nun auf die "4" doppelt drauf, dann öffnet Excel ein neues Tabellenblatt, mit den Details zu diesen vier Einträgen

Natürlich können Sie hier auch nach bestimmten Ordnernamen o.ä. fahnden, Inhalte aufsummieren, Ordnertiefen analysieren oder auch Namensgleichheiten suchen. Folgende Auswertung zeigt z.B. die Größe und Anzahl in "Junk-Mail" aller Postfächer an:

So können Sie schnell einen Überblick über den Speicherbedarf und die Junk-E-Mail Belastung erhalten. Übrigens können Sie mit dem Mailbox Manager (Siehe ) und Auch Informationen über die Anzahl der Mails in "Junk-Mail" oder "Gelöschte Objekte" sind sicher sehr hilfreich.

Anlagen seit 2.5

Seit der Version 2.5 werden nun auch die Namen, Erweiterung und Größe der Anlagen in Verbindung mit dem Postfach und en Pfad in eine separate XML-Datei gespeichert, welches z.B. in Excel dann problemlos ausgewertet werden kann, z.B.: nach Kriterien wie:

Alter mit Version 2.92

Seit Version 2.92 schreibt MBreport auch eine CSV-Datei mit, in der für jedes Datum die Summer der Mails mit diesem Alter abgelegt sind. Wird diese CSV-Datei z.B. in Excel geöffnet, sortiert und aufaddiert, dann kann als Diagramm schön die Größenverteilung und das Einsparungspotential durch Archivprodukte aufgezeigt werden.

Archivauswertung

Meine Testdaten sind natürlich nicht repräsentativ. Man kann also gut sehen, an welchen Tagen diese TestVM Nachrichten übertragen hat. Werden nur die Anlagen archiviert, dann ist die Anlagediagnose schon ausreichend.

Weiterentwicklung

Aktuell ist das Skript auf einem Stand, der für meine Einsätze ausreichend ist. Aber eine kleine Wunschliste gibt es trotzdem:

Vielleicht benötigen Sie ja eine Funktion, die ich bei ihnen vor Ort im Rahmen einer Dienstleistung für Sie weiter entwickle.

Exchange 2007

Das Commandlet "Get-MailboxStatistics" von Exchange 2007 erlaubt zumindest eine Auswertung bezüglich der Ordnergröße. Hier ein Auszug meiner Mailbox

Get-MailboxStatistics

Diese Daten können natürlich auch mit eigenen Programm ausgelesen aber auch weiter verarbeitet werden. Ein Beispiel hat das Exchange Team Blog schon veröffentlicht.

Get-Mailbox | Get-MailboxFolderStatistics | Where {$_.ItemsInFolder -gt 5000} | Sort-Object -Property ItemsInFolder -Descending | fl Identity, ItemsInFolder

Auf dem Eintrag gibt es auch einen Link zu einem umfangreicheren Powershell-Skript

Alternativen

Wenn Sie lieber eine ASP-Seite für Informationen über eine Mailbox nutzen wollen, dann ist der Beispielcode von Lee Derbyshire vielleicht eine gute Startplattform

Diese ASP-Seite könnten Sie auf einem Intranet natürlich für Support/Helpdesk bereitstellen. Das Skript selbst könnte mit "privilegierten Rechten" die Größe der Mailboxen auslesen, während der Zugriff auf die IIS-Seite dann über eine Sicherheitsgruppe nur für einen bestimmten Personenkreis zugelassen wäre.

Allerdings ermittelt diese Beispielskript aktuell nicht die Quota-Einstellungen und eignet sich nicht für die Archivierung der ermittelten Daten für spätere vergleiche

Weitere Links

Keywords:Tools Mailbox Report Auswertung