MAPIProfil

Diese VBScript liest die Daten des aktuellen Benutzers aus dem Active Directory an und generiert eine PRF-Datei, welche von Outlook wieder übernommen werden.

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.

Es ist absehbar, dass eine Weiterentwicklung in diese Richtung nicht sinnvoll ist, da Microsoft mit Outlook 2007 selbst eine solche "Autokonfiguration" einführt. Bis dahin kann das Script aber sehr hilfreich sein, wenn ihr Exchange Alias nicht mit dem Windows Anmeldekonto �übereinstimmt und klassische Wege zur Ermittlung des Anwendernamens daher fehl schlagen

So funktioniert es:

Ich habe ein kleines VBScript geschrieben, welches sie z.B.: und das Anmeldeskript oder über ein Loginscript einer Gruppenrichtlinien im Benutzerkontext des Anwenders laufen lassen können. Das Script liest zuerst den angemeldeten Benutzer aus und sucht dann im Active Directory den passenden "HomeMDB"-Server für das Benutzerobjekt. Aus dem distinguishedName wird dann der eigentliche kurze Servername extrahiert. Ich könnte zwar mit dem DN auch im Active Directory den Server suchen und dann den DNS-Namen auflösen, aber es ist gar nicht sicher, dass dies funktioniert, da der Benutzer dazu zumindest Lese-Rechte in der Exchange Konfiguration benötigt. Aber so geht es auch.

Mit der Information um dem Alias des Benutzers und dem Homeserver kann das Script nun eine PRF-Datei anlegen, die durch Outlook oder andere Profile Tools zur Generierung eines Profils genutzt werden kann.

Die gesamte Aktivität wird im Eventlog hinterlegt. Damit können Sie auch nach der Anmeldung und aus der Ferne das Ergebnis des Durchlaufs kontrollieren.

Download und Einsatz

Das Script ist in der vorliegenden Form nicht "Plug and Play". Verstehen Sie es als Vorlage zur eigenen Verbesserung.

mapiprofil.1.0.vbs.txt

Sie müssen auf jeden Fall am Anfang des Scripts die beiden Konstanten anpassen:

const PRFFILENAME = "c:\profile.prf"
const OUTLOOKPATH = """c:\Programme\Microsoft Office\Office11\outlook.exe"""

Die "drei" Anführungszeichen sind erforderlich, wenn der Pfad Leerzeichen enthält. Zudem sollten sie die PRF-Datei natürlich nicht auf C:\ ablegen, wo normale Anwender meist keine Rechte haben.

Weiterentwicklung

Dieses Script zeigt eher mal wieder die Machbarkeit von Lösungen, als dass es einen großen Vorteil hat. Leider kann ich von einem VBScript aus nicht direkt die MAPI-Profile konfigurieren, sondern muss über Outlook oder NEWPROF gehen. Auf diesem Grund und weil Outlook 2007 eine ähnliche Funktion enthalten wird, ist keine Weiterentwicklung geplant.

Weitere Links