Alles zu Kontakten und Adressen

Jeder, der nicht nur mit wenigen Personen in Kontakt tritt, möchte sich die Adressen der Personen gerne speichern. Aber wo und wie ?. Das ist das Thema dieses Artikels. Klären wir zuerst, wo Outlook seine Kontakte speichern und wie darauf zugegriffen werden kann. Weitere nützliche Informationen finden Sie auf Termine mit Outlook, Aufgaben und Addressbuchprovider für MAPI und Kontaktfelder - Programmieren mit Outlook VBA und Kontakten.

Wichtig ist auch zu wissen, dass immer mehr mobile Geräte (Telefone, PDA etc.) die Kontakte von Outlook abgleichen. Aber die meisten Systeme können nur die "primären Kontakte" von Outlook verwenden. Sie sollten sich also zum einen überlegen, welche Kontakte so wichtig sind, dass Sie auch auf dem mobilen Gerät vorliegen müssen und welche Kontakte dort eher stören und in einem anderen Kontaktordner abgelegt werden sollen. Bei den Kontakten, die sie auch unterwegs vorhalten, sollten Sie zumindest die Telefonnummer im E.164-Format speichern, z.B.: +495251304600, weil nur so sichergestellt ist, dass Sie diese Rufnummer auch überall verwenden können.

Persönliche Adressen (PAB-Datei)

Dies ist die älteste Art, Kontakte zu verwalten. PAB-Dateien kann schon die erste Version von "Windows Messaging" und ehe Outlook verfügbar war, was das auch die einzige Möglichkeit, eigene Kontakte und Verteiler zu verwalten. 

PAB-Dateien lassen sich seit der Verfügbarkeit von Outlook eigentlich nicht mehr rechtfertigen. Die Datei ist unhandlich, nur ein einer Person gleichzeitig nutzbar und auch auf einem Netzwerk ohne nennenswerte Vorteile. Zudem sind die Möglichkeiten der Dateneingabe reduziert.

Oft wird diese Datei genutzt, um Adressen aus anderen Bereichen zu importieren oder exportieren. Gerade beim Wechsel des Mailsystems nach Outlook werden PAB-Dateien genutzt.

Es ist problemlos möglich, unter Outlook die PAB-Dateien in die Outlook Kontakte zu importieren. Damit sind wir schon beim nächsten Thema. Zu der Größe der .PAB Files gibt es keine dokumentierten Werte.

Outlook 2007 unterstützt keine PAB-Dateien mehr !

Outlook Kontakte

Neben den Adressen gibt es seit Outlook 97 auch die Möglichkeit, Kontakte in Form eines Ordners zu verwalten. Im gleichen Speicher wie alle anderen Informationen liegen damit die Adressen bereit und dazu gibt es drei mögliche Orten der Datenablage:

  • In einem Ordner in einer PST-Datei auf der Festplatte
  • In einem Ordner in dem eigenen Postfach (Kontakte)
  • In einem gemeinsamen Ordner

Details zu den unterschieden finden Sie bei PST, OST und Konsorten. Je nachdem, wo die Daten physikalisch liegen, können Sie darauf auch "unterwegs" zugreifen.

Damit die Ordner auch als Adresse bei der Adressierung einer Mail ausgewählt werden können, muss der Dienst "Outlook Adressbuch" in ihrem Profil addiert werden. Siehe auch HowTo: Outlook Kontakte. Erst dann können Sie an ihrem Ordner das Kreuz bei "Outlook Adressbuch setzen.

Nachdem die alle gewünschten Kontaktordner so für das "Adressbuch" aktiviert haben, können sie bei den Eigenschaften des Outlook Adressbuchdienstes die Eigenschaften einstellen.

Im Adressbuch selbst können Sie über die Optionen auch die Suchreihenfolge einstellen, damit die Suche nicht allzu lange dauert. Allzu viele Kontaktorder mit vielen Inhalten verlängern die Suchzeit und produzieren natürlich auch mehr Netzwerk und Serverlast.

Übrigens sind ab Outlook 2000 auf Verteiler in den Kontaktordern möglich. Diese Funktion war sonst nur in den PAB-Dateien verfügbar. ältere Versionen von Outlook sehen diese Verteiler jedoch nicht.

Das Aktivieren eines Ordners als "Adressbuch" kann man auch per Skript regeln. Von einem Leser habe ich folgenden Codeschnipsel bekommen, der einen bestimmten Ordner automatisch als Adressbuch aktiviert.

Set oOutlook = CreateObject("Outlook.Application")
Set oNameSpace = oOutlook.GetNamespace("MAPI")

Set objkontaktordner = oOutlook.GetNamespace("MAPI").
				Folders.Item("öffentliche Ordner").
				Folders.Item("Alle öffentlichen Ordner").
				Folders.Item("Firmenkontakte")
Set objitems = objkontaktordner.Items
If objkontaktordner = "Adressbuch" Then
    objkontaktordner.showasoutlookab = True
End If

Das Skript kann als VBScript im Anmeldeskript gestartet werden, wenn die Benutzer ein "Default Profil" haben und die Sprache "Deutsch" ist. Zur Lesbarkeit habe ich beim Ordnerpfad manuelle Zeilenumbrüche addieren, die wieder entfernt werden müssen

Persönliche Kontakte in PST

Sicherlich die unspektakulärste Art, Adressen abzulegen. Der Ordner mit den Kontakten ist eine Teilmenge einer bestehenden Datenbankdatei. Stellvertreter oder gemeinsamer Zugriff scheitert aber auch. Insofern nicht meine Empfehlung. Allerdings der einzige Platz, wenn Sie ohne PAB und ohne Exchange Server auskommen m����ssen.

Persönliche Kontakte im Postfach

Wenn Sie einen Exchange Server haben, können und sollten Sie ihre Kontakte auch dem Server anvertrauen. Der Zugriff erfolgt schnell, der Administrator kümmert sich hoffentlich um die Sicherung. Auch können sie den Zugriff über Stellvertreter regeln. Leider ist es dem Stellvertreter nur möglich, die Kontakte direkt zu nutzen, aber er kann Sie z.B.: nicht in sein Adressbuch einbinden. Insofern würde ich Kontakte im Postfach auch wirklich nur für persönliche Kontakte nutzen. Dank der Outlook Offlinefunktion können Sie auch unterwegs damit arbeiten, oder per Outlook Webzugriff darauf zugreifen. (passende Internetanbindung vorausgesetzt).

Gemeinsame Kontakte in Ordnern

Gemeinsame Kontakte, die von mehreren Personen genutzt werden sollen, sind am besten in einem öffentlichen Kontaktorder aufgehoben. Dort können Sie sauber mit Rechten arbeiten (Bei Exchange 2000 sogar je Kontakt und nicht nur per Ordner) um zu Zugriffe zu steuern.

Wenn Sie mehrere Exchange Server im unternehmen haben, können sie öffentlicher Ordner problemlos zwischen Servern und Standorten replizieren um damit auch über Standorte hinweg konsistente Kontakte nutzen zu können.

Natürlich können Sie auch diese Ordner problemlos als Adressen nutzen und ebenfalls Offline verfügbar machen, wenn Sie den Ordner in Ihre Favoriten ziehen.

  • 957748 The custom message class of contact object is overwritten by the normal IPM.Contact class when an Exchange 2007 server replicates the contact object to any other public store

Serverbasierte Kontakte Exchange 5.5

Dann gibt es da aber noch die Adressen, die uns der Server anbietet. Üblicherweise finden Sich hier alle Personen, die in unserem unternehmen ein Postfach haben. Zusätzlich kann ihr Administrator auch hier benutzerdefinierte Adressen eintragen, z.B.: Firmenangehörige, die ihr Postfach bei einem anderen Mailsystem haben oder externe Personen, die trotzdem für alle schnell erreichbar sein sollen.

Bei Exchange 5.5 sind hierzu "Benutzerdefinierte Empfänger" im Exchange anzulegen. Damit sind diese sofort für alle Personen in der gesamten Organisation sichtbar !. Daher Vorsicht mit dieser Anlage. Es bietet sich an, diese Personen in einer eigenen Organisationseinheit abzulegen. Kontakte innerhalb von öffentlichen Ordnern sind hier meist eine bessere Wahl.

Serverbasierte Kontakte Exchange 200x

Exchange 200x hat kein eigenes Verzeichnis mehr. Die benutzerdefinierten Kontakte in Exchange 2000 sind einfach Kontakte im Active Directory. Auch hier sind diese dann im gesamten Forrest zu erreichen. Also auch hier Vorsicht und Planung. Kontakte innerhalb von öffentlichen Ordnern sind hier meist eine bessere Wahl.

Gemeinsame Kontakte ohne Exchange

Nicht immer haben sie einen Exchange Server in ihrem Netzwerk. Aber auch dann können sie mit Einschränkungen gemeinsame Kontakte nutzen. PST-Dateien auf einem Server scheiden leider aus, da diese nur von einem Outlook gleichzeitig geöffnet werden können. Und die so genannten "NetFolders" werden nicht mehr weiter entwickelt. Aber es gibt auch hier Abhilfe:

Über diese Wege kann auch ohne Exchange die Kontakte Funktion von Outlook in kleinen Netzwerken genutzt werden.

Verteiler

Anders als bei Verteilern die der Exchange Administrator in der Organisation anlegt, kann ein Anwender sowohl in den PAB-Dateien als auch in den Kontakten (ab Outlook 2000) auch Verteiler anlegen. Allerdings sind hierbei die Anzahl der Mitglieder beschränkt. Bei Outlook Verteilern in Kontakten z.B. auf 168 Einträge je Verteiler.

Andere Adressdienste (LDAP)

Auch mit Exchange 5.5, Exchange 2000, Windows 2000 und anderen Datenbanken gibt es in vielen Firmen zusätzliche Verzeichnisdienste. Auch das Internet wird zukünftig immer mehr Verzeichnisdienste anbieten. Irgendwann werden wir vielleicht so wie ein einem Telefonbuch auch im Internet unter Angabe des Firmennamens oder des Ortes nach Adressen suchen können. Das Protokoll hierzu ist LDAP und wird immer dominierender werden. Auch für Outlook gibt es einen LDAP-Dienst, welcher den Zugriff auf Verzeichnisdienste mit LDAP-Abfrageschnittstelle ermöglicht. Heute ist dies noch alles nicht so nahtlos integriert, aber ich bin mir sicher, dass wir hier zukünftig sehr viel einfacher zu bedienende Schnittstellen erhalten werden.

Es gibt einige Dritthersteller, wie z.B.: www.bynari.com, welche ebenfalls LDAP Adressbuch Provider vertreiben. Eventuell ist es daher lohnenswert, auch alternative Produkte zu betrachten. In diesem Bereich tummeln sich aber auch viele andere Hersteller, die eigene Directories anbieten. Ob dies nun MetaDirectories sind, X.500 Verzeichnisdienste wie eDirectory oder andere. Alle halten Adressen und werden diese an andere Anwendungen wie Outlook bereitstellen.

Kontakte durchsuchen lassen

Sie können im Profil von Outlook in der Karteikarte Adressierung angeben, welche Adressquellen Outlook automatisch durchsuchen soll, wenn Sie einen Namen in der Adresszeile eingeben. Ich habe bei mir da z.B. folgende Quellen abgespeichert:

  • Globale Adressliste (des Exchange Servers)
  • Outlook Kontakte (in meinem Postfach)
  • Firmenkontakte (in einem öffentlichen Ordner) 

So kann ich einfach einen Namen eingeben und Outlook findet in den meisten Fällen sehr schnell den passenden Empfänger. Wichtig ist hierbei, all die Adressquellen einzurichten, die Sie häufig nutzen, aber gleichzeitig die Menge gering zu halten, damit die Belastung durch die Suche für das LAN und den Server nicht zu groß wird.

Serienbriefe und mehr

Nun haben Sie alle Kontakte in Exchange und Outlook und wo noch auch immer gepflegt und nun  wollen Sie diese Informationen nutzen um einen Serienbrief zu versenden. Outlook Kontakte sind aber keine Datenbank wie Access, die quasi als Tabelle mit festen Feldgrößen gut geeignet sind. Kontakte haben einen anderen Ansatz, aber sie können durchaus für Serienbriefe genutzt werden. Mit Word können sie nämlich problemlos auch die Kontakte zu Serienbriefen nutzen. Allerdings sind die Möglichkeiten der Filterung etc. schon eingeschränkt. Hilfreich ist das der Hinweis, dass Sie Kontakte auch in CSV-Dateien exportieren können. Wenn Sie dann schon früher gut mit Kategorien  zur Gruppierung und Einteilung gearbeitet haben, fllt ihnen nun die schon leichter.

Serienbriefanwender sollten sich mal das Programm "WinOLE" von Herrn Gangl ansehen. Anspruchsvollere Anwender könnten darin eine Lösung gefunden haben.

Kontakte importieren, Fremdkontakte nutzen

Immer wieder kommt die Frage, wie denn Kontakte importiert oder zwischen Fremdsystemen repliziert werden können. So könnten in einer SQL-Datenbank die Kundenkontakte stehen und es wäre doch zu schön, wenn diese auch als Outlookkontakte zur Verfügung stehen könnten. Nun, so schön der Gedanke ist, einfach und trivial ist diese Frage gar nicht. Sie können sich mehrere Gedanken vorstellen:

  • Gelegentlicher Import
    Einfache Adressen, die ihnen als CSV-Datei und ausgewählte andere Quellen vorliegen, können sie über Outlook einfach in ihre Kontakte oder gemeinsame Kontaktordner importieren. 
    Der Administrator kann das gleiche auf dem Server machen, um Adressen in den Verzeichnisdienst von Exchange oder Windows 2000 zu importieren.
    Aber beide Möglichkeiten sind eher einfach und nicht sehr leistungsfähig.  
  • Direkter Zugriff per LDAP auf die Quelldaten.
    Sie nutzen dann die direkten Daten, die aktuell sind, Allerdings müssen sie auf jedem PC den LDAP-Dienst konfigurieren und die Quelle muss LDAP unterstützen, oder Sie brauchen einen Dienst, der die Quelldaten per LDAP erreichbar macht.
  • Adressprovider für Outlook/MAPI
    Alternativ könnten Sie nach einem Adressprovider suchen, der sich in das Profil integrieren lässt, wie dies auch mit den anderen schon verfügbaren Treibern möglich ist. Allerdings ist dieser Weg sehr selten. Nur spezielle Adressdienste bauen eigene Provider, die zudem auch wieder auf jedem PC zu installieren und konfigurieren sind
  • Import/Synchronisation mit Exchange Serverkontakten
    Mittels Exchange Administrator, ADSI oder LDAP können sie Adressbestände in den Exchange Server als "Benutzerdefinierte Empfänger" importieren. (Kontakte im Active Directory mit Exchange 2000). Damit brauchen Sie auf dem Arbeitsplatz nicht zusätzlich, aber die Daten können ihre Datenbank und den Replikationsverkehr mächtig in die Höhe treiben. Ein täglicher Import aller Daten ist daher nur mit kleinen Adressbeständen oder kleinen Organisationen sinnvoll. denkbar ist die Beschränkung auf den Abgleich von "Änderungen ".
  • Import/Synchronisation mit Kontakten
    Diese Methode stellt die Daten in Form von Kontakten in einem öffentlichen Ordner den Anwendern zur Verfügung. Die Anwender können diese direkt benutzen, aber um eine Programmierung werden  sie kaum umhin kommen.

Wie sie sehen, haben Sie mit dieser Anforderung ein Wespennetz erwischt, denn Sie werden ohne erweiterte Kenntnisse beim Einsatz und Konvertierung der Daten und ohne  Hilfe in Form zusätzlicher Programme oder eigener Konvertierroutinen kaum zu einer befriedigenden Lösung kommen. Viel Erfolg und ich würde mich freuen, wenn Sie ihre Lösung vorstellen wollen.

Outlook und Outlook Express selbst können ebenfalls schon sehr viele Adressbücher anderer Hersteller importieren.

Allerdings gibt es auch einige fertige Lösungen. Sue Mosher hat dazu eine sehr umfangreiche Übersicht auf http://www.slipstick.com/config/convaddr.htm vorgestellt.

CSV-Datei

Eine CSV-Datei ist einfach eine "Comma separated value"-Datei, d.h. eine Textdatei, die zeilenweise orientiert ist und in jeder Zeile mehrere Werte enthält, die mit einem Trennzeichen (meist Komma "," oder Semikolon ";") unterteilt sind.

Solche Dateien werden genutzt, um Adressen quasi als Datenbank zu speichern und anderweitig zu verwenden. Exchange und Outlook nutzen CSV-Dateien während dem Betrieb nicht. Sie werden nur vom Administrator oder von Anwendern bei Bedarf eingesetzt um Daten aus Exchange oder in Exchange zu bringen.

LDIF-Datei

 ähnlich wie die CSV-Datei spielen auch LDIF-Dateien im laufenden Betrieb keine Rolle. Diese Dateien enthalten LDAP-Informationen, welche in das Active Directory importiert werden können. Das Exchange Setup erweitert z.B.: mit solchen Dateien das Schema für Exchange 2000. Mittels LDIF-Dateien können ebenfalls Benutzer angelegt und gelöscht werden und vieles mehr.

Programmieren mit Kontakten

Ich bin kein Programmierer, aber es gibt neben meinen Skriptbeispielen auf Programmieren mit Exchange viele andere Quellen im Internet, die ihnen beim Einstieg helfen können. Folgende Links exportieren z.B. Kontakte in XML-Dateien und umgekehrt:

Weitere Links