AltRecipient

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.

Exchange erlaubt den Anwendern über Regeln eine Weiterleitung von Nachrichten an andere Personen. Aber auch der Administrator kann beim Postfach eine Weiterleitung konfigurieren, so dass Nachrichten an ein Postfach an eine andere Adresse (Benutzer, Verteiler, öffentlicher Ordner oder Kontakt) weitergeleitet wird. Dabei kann die Mail komplett oder als Kopie weiter geleitet werden. Hier die entsprechenden Einstellungen in Exchange 2003 und Exchange 2007.

Weiterleitung E2003 E2007 Weiterleitung

Die Information selbst steht dabei in einem LDAP-Feld, welches per CSVDE recht einfach ausgelesen werden kann. Allerdings steht dort der DN des Zielobjekts drin. Somit ist klar, dass zum einen der alternative Empfänger immer ein Objekt des Active Directory sein muss und dass dieses Objekt Natürlich auch vorhanden sein muss.

Leider gibt es seitens der MMC aber keine Prüfung, wenn Sie ein Objekt löschen, ob dies an anderer Stelle noch als alternativer Empfänger eingetragen ist. Diese Prüfung übernimmt das folgende Skript, indem es von allen Personen einer Domäne die ALT-Recipients ausliest und prüft ob diese Empfänger auch vorhanden sind.

Die Ausgabe als XML-Datei kann z.B., mit jedem Browser angezeigt werden

AltRecipients Ausgabe

Wenn ein alternativer Empfänger fehlt, dann ist im Status Natürlich kein OK zu finden und in der Mailadresse des alternativen Empfängers steht dann der distinguished Name des Objekts.

Skript

Das Skript selbst ist wieder einmal ein einfaches VBScript, welches mit der Angabe eines gültigen LDAP-Pfads aufgerufen werden muss.

cscript altrecipient.vbs "GC://firma.intern"
cscript altrecipient.vbs "LDAP://firma.intern""
cscript altrecipient.vbs "LDAP://server/firma.intern"

Beachten Sie, dass "GC" groß geschrieben sein muss.

Es sucht dann per ADO im Active Directory nach allen Objekten mit dem Filter "(&(mailnickname=*)(AltRecipient=*))". Das Ergebnis enthält dann alle Objekte mit einem alternativen Empfänger. In einem zweiten Schritt wird der alternative Empfänger mit einem "GetObject" gebunden um die Mailadresse zu erhalten. für kleine und mittlere Firmen ist dies ausreichend. Bei größeren unternehmen sollte man hier dann auch besser eine Suche auf den GC durchführen. 

AltRecipient.1.1.vbs

Weitere Links