MAPI-Profile

Jeder, der Outlook auf seinem Arbeitsplatz installiert, kommt nicht um die Konfiguration eines so genannten Profile herum. Ohne Profil wird kein Programm starten, welches auf MAPI basiert.

Microsoft Outlook Configuration Analyzer Tool 2.0
http://www.microsoft.com/en-us/download/details.aspx?id=28806 

Was ist ein Profil und warum das ganze so kompliziert?

Das Profil ist einfach eine Konfigurationseinstellung. Das Profil selbst beschreibt für die MAPI Schnittstelle, auf welche Dienste es aufbauen kann. Damit ist es einfach möglich, die verschiedensten Dienstleister zusammen zu fassen und der Anwendung eine einheitliche Schnittstelle anzubieten.

Wenn Sie irgendwann selbst einmal über die MAPI (Messaging API) eine Nachricht versenden wollen, dann ist der Funktionsaufruf und die Benutzung immer die Gleiche, egal ob nun dahinter ein Exchange Server oder ein POP3-Server steht. MAPI ist das Bindeglied zwischen der Anwendung und dem Backen.

Das Profil ist die Konfiguration der MAPI Schnittstelle. Sie können problemlos mehrere Profile nebeneinander konfigurieren, aber es kann immer nur ein Profil gleichzeitig aktiv sein. Mehrere Profile können sinnvoll sein, wenn Sie für verschiedene Einsatzzwecke unterschiedliche Konfigurationen nutzen wollen. So können Sie Outlook wahlweise für die Nutzung im internen System per Microsoft Mail starten oder mit einem Internet Dienst zum Provider gehen.

Mehrere Profile machen auch Sinn, wenn das Betriebssystem nicht mehrere Anwender verwalten kann (z.B. Windows 9x) aber an einem PC abwechselnd mehrere Personen arbeiten. Beim Start von Outlook kann der Anwender dann sein eigenes Profil verwenden, und so seine eigenen Einstellungen nutzen.

Ob die MAPI gerade geladen ist, erkennen Sie z.B. daran, dass im Task Manager das Programm MAPISP32.EXE gestartet ist. Wenn Sie Outlook beenden und keine andere Anwendung noch einen MAPI Funktion nutzt, dann beendet sich der MAPI Spooler nach einigen Sekunden ebenfalls.

Die Komponenten eines Profils

Nun stellt sich natürlich die Frage, was alles in dem Profil zu konfigurieren ist. Dazu schauen wir uns einmal den Aufbau von MAPI anhand eines Schaubildes etwas an.

Dieses Blockbild soll ihnen die Zusammenhänge von MAPI etwas erklären. Oben auf MAPI setzen die verschiedenen Anwendungen auf. Auch Outlook ist "nur" eine MAPI-Anwendung. MAPI selbst bringt schon viele Fenster mit. Wer mit Word z.B. eine neue Nachricht per MAPI startet, wird auch ohne aktives Outlook ein bekanntes Bild sehen.

Hier sehen wir nun auch, dass unter der MAP diverse Dienstleister eingebunden werden. Das Profil bestimmt hier die geladenen Dienste und wie diese konfiguriert sind. Wir können drei unterschiedliche Provider. Der Exchange "Dienst" ist hier ein Sonderfall, er beinhaltet entsprechende Treiber für alle drei Funktionen, die nicht getrennt werden können.

Transportdienste

Die Transportdienste sind dafür zuständig, dass Nachrichten übermittelt werden können. für eine Einzelanbindung an das Internet nutzen Sie hier in der Regel den Internet Mail Dienst. Es gibt hier auch Dienste für CompUServe, AOL aber auch für MS Mail, GroupWise, Notes. Selbst einen Transportdienst für Office Vision (AS400) gibt es. Sie können in einem Profil mehrere dieser Dienste einrichten. Allerdings sollten Sie es nicht übertreiben, da jeder Dienst bekannt gibt, welche Adressen (SMTP, PROFS, PCM, X400, FAX) er unterstützt. Unterstützen mehrere Dienste den gleichen Adressdienst zählt die Reihenfolge im Profil !. In einem LAN ist es immer besser, hier wenige Dienste zu haben und auf dem Server die Anbindungen mit Connectoren zu nutzen. Dann haben gleich alle Anwender etwas davon und die Administration ist einfacher.

Übrigens ist auch der Microsoft Faxdienst einfach nur ein Transportprovider für den Client, der sich hier einbindet und kein vollwertiger Faxserver. Exchange liefert hier einen Dienst mit, bzw. genau genommen benötigen Sie für Exchange hier keine Komponente, da Sie ihre Nachrichten einfach mit dem nächsten Dienst, dem Speicherdienst auf dem Exchangeserver abliefern.

Speicherdienste

Jede Nachricht, die übertragen wird, muss auch irgendwo gespeichert werden. Dafür ist der Speicherdienst zuständig, welcher die Nachrichten annimmt und in den Speicher ablegt. Als Einzelanwender haben Sie hier nur die Möglichkeit, eine so genannte PST-Datei als Speicherplatz zu konfigurieren. Andere Speicher sind nur sehr selten anzutreffen.

Der Dienst für Exchange übernimmt hier die zentrale Speicherung der Nachrichten auf dem Exchange Server. Auch der Versand funktioniert derart, dass die zu sendenden Nachrichten einfach in den Postausgang ihres Postfaches gelegt werden. Der Exchange Server holt sich die Nachrichten dort ab. Mit Exchange brauchen Sie also ausnahmsweise keinen Transportdienst.
Der Exchange Dienst ist auch der einzige mir bekannte Dienst, der einen Offlineorder anlegen kann um die Inhalte des zentralen Serverspeichers mit einer lokalen Datei zu replizieren. Die Offline Funktion ist keine Leistung von Outlook, sondern von dem Exchange Dienst.

Es gibt auch Speicherdienste, die die zentrale Ablage der Nachrichten in anderen Serversystemen erlauben, z.B. Notes oder GroupWise. Die Schnittsteller erlaubt hier auch Drittherstellern eigene Datenspeicher einzubinden.

Weitere Details finden Sie auf Storageprovider

Adressbuchdienste

Zuletzt interessiert uns, wie wir an die Adressen für unsere Nachrichten kommen. Dazu dienen die Adressbuchprovider, die unserem MAPI-Programm die Daten anbieten. Mit dem Exchange Dienst erhalten Sie hier natürlich wiederum einen Weg, auf das Globale Adressbuch des Exchange Servers oder die einzelnen Container zuzugreifen. Auch einfache Suchanfragen sind möglich.

Sie können natürlich auch ihre Kontakte in einer lokalen Datei mit der Endung .PAB ablegen. Dies ist z.B. mit dem Exchange Client der einzige Weg, eigene Adressen zu erfassen.

Mit Outlook bekommen Sie einen weiteren Adressbuchdienst, welcher ihnen den Zugriff auf die Kontakte über das Adressbuch bereitstellt. Diese DLL liest beim Zugriff dann ihre Kontakte ein und zeigt ihnen die Liste. Der Exchange Server wirkt hierbei nur insofern mit, wie der Client eben in kurzer Zeit sehr viele Kontakte anliest. Hier ist dann auch die Grenze, da dieser Dienst bei exzessiver Nutzung eine beträchtliche Last auf dem Netzwerk, Server und Client verursacht.

Weitere Adressbuchdienste bieten den Zugriff auf Adresslisten von Microsoft Mail, Notes, GroupWise oder über das Internetprotokoll LDAP auf andere erreichbare Verzeichnisserver.

Weitere Details finden Sie auf Kontakte für Outlook

Administratorhinweise zu Profilen

So leistungsfähig die Profile auch sind, so haben Sie auch den Nachteil, dass sie auf vielen PCs erst konfiguriert werden müssen. Diese Aufgabe dem Anwender zu überlassen ist nicht sehr sinnvoll. Daher gibt es verschiedene Hilfsprogramme und Wege, um Profile automatisch anzulegen und zu ändern. Sie finden Sie Auflistung auf Profile Tools.

Um etwas Licht ins Dunkel zu bringen, ist es hilfreich, die Speicherposition des Profils zu können. Das Profil selbst liegt in der Registrierung und ist vom Benutzer abhängig. Die Daten liegen im Zweig:

  • Windows 3.1
    Hier gibt es noch keine Registrierung. Die Konfiguration lag überwiegend in der  MAPI.INI
  • Windows 95/98
    HKEY_CURRENT_USER\Software\Microsoft\Windows Messaging\
    Profiles\<profilname>
  • Windows NT/2000/XP/2003
    HKEY_CURRENT_USER\Software\Microsoft\Windows NT\Current Version\Windows Messaging Subsystem\Profiles\<profilname>

Wenn Sie Roaming Profiles einsetzen, dann werden zwar die Einstellungen mit übernommen, aber das bedeutet noch lange nicht, dass eventuell mit verbundene Dateien (PAB als Adressbuch, PST für Daten, OST als OfflineDatei) ebenfalls mit "umherziehen". Roaming Profiles macht daher im Hinblick auf MAPI-Profile nur Sinn, wenn alle Daten auf dem Exchange Server liegen. Zusätzlich müssen auf dem PC natürlich die DLLs für die Dienste vorhanden sein.

Weitere Infos zu MAPI in der Registrierungen finden Sie auf MAPI mit RegEdit

Profile löschen

Manchmal ist es sogar der einfachste Weg, ein neues Profil anzulegen oder gleich alle Profile zu löschen und entsprechend Outlook durch einen "First-Run" dazu zu bewegen, eine Neueinrichtung durchzuführen. Da die Einstellungen allesamt in der Registrierung unter "CurrentUser" liegen, ist es auch für Anwender möglich diese zu löschen. Nur ist natürlich der Einsatz von REGEDIT/REGEDT32 oder REG-Dateien genauso ungeeignet wie der Aufruf eines VBScripts. Bei fast allen Computern wird dann nämlich Notepad gestartet oder andere VBS-Script-Verhinderer blocken dies. Dennoch möchte ich als Muster hier ein kleines VBScript publizieren:

Rem  VBScript to remove MAPI Profiles and trigger a Outlook 2010 "FirstRun"

Const HKEY_CURRENT_USER = &H80000001 

strComputer = "."

Set objRegistry = GetObject("winmgmts:\\" & strComputer & "\root\default:StdRegProv") 

Sub DeleteSubkeys(HKEY_CURRENT_USER, strKeyPath) 
    objRegistry.EnumKey HKEY_CURRENT_USER, strKeyPath, arrSubkeys 

    If IsArray(arrSubkeys) Then für Each strSubkey In arrSubkeys 
            DeleteSubkeys HKEY_CURRENT_USER, strKeyPath & "\" & strSubkey 
        Next 
    End If 

    objRegistry.DeleteKey HKEY_CURRENT_USER, strKeyPath 
End Sub


wscript.echo "DelProf:Removing all MAPI Profiles"
DeleteSubkeys HKEY_CURRENT_USER, "Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles" 
wscript.echo "DelProf:Removing Outlook FirstRun"
DeleteSubkeys HKEY_CURRENT_USER, "Software\Microsoft\Office\14.0\Outlook\Setup\First-Run"
wscript.echo "DelProf:DONE"

Eleganter geht das natürlich mit einem EXE-Programm. Auf Basis von C# und mit dem .NET-Framework muss man auch keine eigene Rekusionsschleifen basteln, da .NET schon die passende Methode hat.

Damit ist der entsprechende Code natürlich sehr überschaubar. Dann muss man nur noch ein "Form" drum herum erstellen und fertig ist das Tool für den allgemeinen Einsatz.

WipeMapiProfile
wipemapiprofil.zip

Diese keine 140 kByte EXE löscht einfach den "Profiles" Subkey und den "First-Run"-Key von Outlook 2010. 

MAPISVC.INF

Alle Tools und Programme zum Erstellen und Anpassen von MAPI-Profilen müssen jedoch wissen, welche Dienste auf dem System überhaupt zur Verfügung stehen. Dazu nutzt MAPI die Datei "MAPISVC.INF". Eine Musterdatei finden Sie hier MAPISVC.INF.  Für einen Administrator kann es durchaus sinnvoll sein, diese Datei etwas für das eigene Netzwerk anzupassen um die Experimentierfreude der Anwender einzuschränken. Alternativ können Sie über die Windows NT Richtlinien natürlich einfach das komplette Systemkontrollfeld Ausblenden.

  • 294470 How To Add Entries für Exchange Services to Mapisvc
  • 158826 XCLN: Location of Mapisvc.inf File Not Configurable
  • 229700 HOWTO: Find the Correct Path to MAPISVC.INF under Outlook 2000

Sie können keine Profile mit Diensten anlegen, die hier nicht aufgeführt sind.

Allerdings sind nicht alle Einstellungen der MAPI-Anwendungen wie Outlook im Profil hinterlegt. Einige Einstellungen sind auch in der Mailbox und andere Dateien.

  • Q282496 XADM: Considerations and Best Practices When Resetting an Exchange Mailbox Database

Links

Es gibt jede Menge Links zu NEWPROF und PROFGEN, wenn Sie in der TechNet danach suchen. Hier eine Auswahl: