Tools: PFReport

Alle Skripte sind Muster ohne jede Gewährleistung oder Funktionsgarantie. für Schäden bin ich nicht verantwortlich. Achten Sie auf Zeilenumbrüche bei der Übernahme.

VBScript und 64Bit !
Viele 32bit COM-Objekte lassen sich auf einem 64bit System nur instanziieren, wenn die 32bit Version von CSCRIPT/WSCRIPT genutzt wird, welcher unter C:\Windows\SysWOW64\cscript.exe liegt.

Auch das Programm PFDavAdmin erlaubt das Erstellen von Reports

Diese Skript funktioniert aktuell nur mit Exchange 2000/2003 und nicht mit Exchange 5.5 oder 2007, da es per WMI eine Verbindung zum Server aufbaut.

öffentliche Ordner sind einer der wesentlichen Vorteile beim Einsatz von Exchange im Vergleich zu vielen anderen Mailsystemen. Allerdings ist die Übersicht nicht immer sehr einfach zu erhalten. Natürlich können Sie im Exchange System Manager die meisten Informationen anzeigen lassen und auch als CSV-Datei exportieren, aber einige Fehler sind nicht so einfach zu erkennen. für eine Analyse von Postfächern ist MBReport geeignet.

Per WMI sind aber sehr viele Eigenschaften der Ordner auslesbar. Darauf basiert das Script:

Achtung:
Die Funktion von WMI wurde von Exchange Version zu Exchange Version immer erweitert. Das Script wurde mit Exchange 2003 SP2 getestet.'
Zudem kommt WMI bei sehr großen Ordnerstrukturen sehr schnell an seine Grenzen bzw. das Programm brauchst sehr lange zum Einsammeln der Informationen.

Eine Exchange 2007 Funktion bezüglich der Konsistenzprüfung von mailaktivierten öffentlichen Ordnern finden Sie auf PFMailInteg.

Es gibt von Microsoft mit dem Programm PFINFO und PFDavAdmin sehr ähnliche Programme, die aber "kompiliert" und daher nur in Grenzen der Kommandozeilen und GUI zu steuern sind.

Das Skript

Laden Sie dieses Script auf ihren PC herunter und benennen Sie es um. Wenn Sie das Script nicht auf dem Exchange Server selbst aufrufen, müssen Sie die Konstante "oComputerName" am Anfang entsprechend anpassen.

pfreport.1.8.vbs.txt

Das Script nutzt die normale integrierte Authentifizierung. Der aufrufende Prozess muss daher zumindest die Berechtigungen haben, WMI auf dem Zielserver zu nutzen.

Ausgabe

Das Script legt wie mittlerweile üblich bei meinen Skripten eine XML-Datei samt Stylesheet an, welche z.B. mit dem Internet Explorer angezeigt werden kann.

In der XML-Datei liegen natürlich weit mehr Informationen. Das Stylesheet filtert die gewünschten Informationen heraus. Durch eine Änderung der XSL-Datei können Sie die Ausgabe anpassen. Beachten Sie aber, dass das Script bei jedem Durchlauf das Stylesheet wieder neu anlegt. Eine Weiterverarbeitung der XML-Datei wie auch eine komplette Anpassung des Scripts ist natürlich möglich.

Die angezeigten Werte für "Anzahl der Objekte" und "Größe" sind nicht immer korrekt. Ich habe noch nicht die Ursache gefunden, aber anscheinend hat der WMI-Provider noch das ein oder andere Problem an der Stelle.

Zudem werden nur Ordnergrößen ausgelesen, wenn der Server auch ein Replikat davon hat. für einen Überblick über alle Server müsste das Script umfangreich erweitert werden.

Nur "öffentliche Ordner". Es werden nicht die Systemordner (Free/Busy, OAB etc.) mit ausgegeben.

Das Script prüft auch, ob mailaktivierte Ordner ein entsprechendes Objekt im Active Directory haben. Fehlt dieses, so steht "MISSING" in der Mailadresse

Weiterentwicklung

Für dieses Reporting habe ich noch einige Pläne, so dass damit auch in gewisser Weise "Richtlinien" durchgesetzt werden können. Wenn ich mir ein Konzept für öffentliche Ordner betrachte, dann könnten folgende Prüfungen interessant sein:

  • Ordnertiefe und Anzahl
    Sehr viele Firmen reglementieren Ordner und deren Einsatzweck. So möchten nicht alle Firmen sehr große Ordnerstrukturen und begrenzen die Tiefe auf z.B.: 4 Ebenen von denen die beiden oberen Ebenen zentral vorgegeben werden. Das Script könnte sehr einfach die Tiefe der Ordner (Pfad) prüfen und bei Überschreitung dem Ordnerbesitzer
  • Aktuelle Größe ist 90% der Obergrenzen
    Analog zu Postfächern könnte auch solch ein Skript die Größe von Ordnern überwachen und bei Bedarf warnen, z.B. per Mail an den Ordnerbesitzer
  • Berechtigungen korrekt gesetzt
    In den meisten Firmen ist es nicht erlaubt, dass Benutzer zur Berechtigung herangezogen werden. Das Script könnte daher die Clientberechtigungen prüfen und Falschkonfigurationen melden. Dazu gehört auch, dass es für jeden Ordner z.B. nur einen Ordnerverantwortlichen geben darf. Zudem könnte geprüft werden, welche Rechte "Standard" und "Anonym" hat. Anonym benötigt eigentlich nur "Stufe 1", wenn der Ordner Mailenabled ist.
    Einige Firmen haben vorgefertigte Strukturen, auf denen Berechtigungen unveränderlich sein sollten, z.B.:
    Ordner1: Jeder lesen
    Ordner1/Ordner2/Abteilung lesen.
    Problem: Neue unterordner haben dann zu viele Rechte
  • Ordnerrechte "nutzbar"
    Es kann passieren, dass ihnen jemand Berechtigungen auf einem unterordner gibt und sie im darüber liegenden Ordner keine Berechtigungen haben. Sie könne ihr Recht dann nicht ausüben. Solche eine "Fehlkonfiguration" lässt sich aber programmatisch erkennen und zumindest melden.

Um viele dieser Dinge umzusetzen, fehlen mir aber noch die passenden Codeteile, da diese nicht per WMI und VBScript einfach zu erreichen sind, sondern Daten wie "Client Berechtigungen" und "Ordnerbesitzer" müssen per MAPI oder WebDAV ausgelesen werden.

Weitere Links