Verzeichnisabgleich für Exchange
Nicht immer ist das Active Directory das einzige Verzeichnis. Nicht nur Exchange 5.5 hat einen Verzeichnisdienst, sondern oftmals gibt es eine NetWare NDS, andere Mailsysteme und oftmals existieren in einer Firma auch mehrere Active Directory Forests, die für Exchange 2000 so nicht nutzbar sind.
Wenn Sie nur eine Exchange 5.5 Organisation mit einer anderen Exchange 2000/2003 Organisation abgleichen möchten, dann ist ADC Interorg vermutlich ihre Lösung.
Hier kommt dann schnell der Wunsch, diese Verzeichnisse zu synchronisieren oder zumindest teilweise zu nutzen. Tatsache ist aber auch, dass Exchange 2000 nur Elemente kennt, die in seinem Forest sind. Daher müssen alle anderen Benutzer im Active Directory als Kontakte angelegt werden bzw. in Exchange 5.5. als "Benutzerdefinierte Empfänger".
Siehe auch Verbinden von Organisationen und Ex552AD und ADC Interorg und Metadirectory.
Umfang
Fangen wir einfach an und behauten einmal, dass die Empfänger einer Exchange Organisation auch in einem anderen System bereitgestellt werden sollen, z.B. damit sie dort im Adressbuch erscheinen, für Frei/Belegt-Zeiten verfügbar sind oder auch nur für ein optimiertes Mailrouting genutzt werden sollen. Das ist z.B. beim Sharing eines gemeinsamen SMTP-Adressraums erforderlich. Nun gibt es in der Quelle ja nicht nur Postfächer von Benutzern sondern auch Shared Mailboxen, Raum-Mailboxen aber auch Verteilerlisten und möglicherweise noch Kontakte. Je nach Quelle kann ich im Ziel unterschiedliche Objekte anlegen lassen. Hier meine Empfehlung.
Quelle | Ziel |
---|---|
Mailbox, Raum, Shared, Ressource |
|
Verteiler |
|
Kontakt |
|
Public Folder |
|
In der Liste sehen sie fast immer "MailContact" als Ziel. Dieses Objekt ist einfach zu verwalten und erfüllt die meisten Anforderungen. Allerdings kann der Anwender im Ziel nicht mehr erkennen welcher Type der Empfänger in der Quelle ist.
One Way - One Time
Wenn es nur mal darum geht, Adressen einer fremden Quelle zu importieren Ein einmaliger "Export" eines Verzeichnisses und der Import in ein anderes ist ja noch recht einfach. Über Programme wie CSVDE oder LDIFDE können entsprechend vorformatierte Dateien importiert werden. Die Formatkonvertierung der Quelldaten muss aber auf jeden Fall erfolgen. Hier bietet sich VBScript oder jede andere Programmiersprache an. Aber diese Methode hat auch Nachteile, wenn es regelmäßig passieren soll.
- Löschen von Objekten
In der Quelle gelöschte Elemente werden im Zielsystem so nicht entfernt es sei denn man löscht erst alles im Ziel vor dem Reimport. - Datenmenge
Auch kleine Änderungen an den Quelldaten sind immer ein voller Importzyklus und damit eine komplette Replikation im Active Directory. Dies ist nicht zu unterschätzen. - Offline Adressbuch
Viele Änderungen im AD bedeuten auch für Exchange viele Änderungen beim Offline Adressbuch und damit auch für die Outlook Offline Clients viel zu replizieren. - Richtung:
Es geht eigentlich nur eine Richtung, da über den Weg keine vernünftige bidirektionale Replikation möglich ist. Der Master ist dominant und das Ziel ist eigentlich eine "Read-Only"-Kopie.
Daher ist diese "manuelle" Methode nur in kleinen Umfeldern möglich, wo eine Einseitigkeit reicht und die Belastung und "Dynamik" im Zielsystem nicht störend ist. So etwas kann mal per CSVDE und LDIFDE und etwas Skript nur durch Skripte mit ADSI zügig aufbauen.
One Way - Selektiv
Mit etwas mehr Aufwand an Code kann man natürlich diese Probleme schon mindern. z.B. kann man eventuell aus der Quelle direkt die Daten per LDAP auslesen und damit filtern auf "Änderungen seit dem Datum oder Versionsstand (USN) der letzten Replikation". (Der ADC macht dies genau so). Dann müssen nur diese Änderungen zum Ziel übertragen werden. Aber immer noch ist das Ziel "Read-Only", wenn Änderungen am Ziel werden nicht zur Quelle repliziert und Änderungen an der Quelle überschreiben das Ziel.
Metadirectory
Letztlich ist das alles nur der Anfang auf dem Weg zu einem Meta Directory. Sobald erweiterte Anforderungen anfallen, dann werden Sie um eine Metadatenbank (Metaverse) nicht umhinkommen. Ein paar Beispiele:
- Nur Änderungen übertragen
- Replikation von Löschbefehlen
- Anpassung von Feldinhalten
- Selektion von Einträgen
- bidirektionale Replikation
- Replikation mit mehr als zwei Verzeichnisdiensten
Mit solche einem Metaverse werden die Daten eines Verzeichnisdiensts in diese Zwischendatenbank übertragen, welche dann wieder als Ausgangspunkt für andere Dienste dienen kann. Aber dann gilt es auch Konflikte zu erkennen, d.h. jemand löscht im Ziel ein importiertes Objekt, und jemand anderes ändert dieses Objekt im Quellverzeichnis. Was passiert ?
Die Perfektion ist dann die bidirektionale Replikation. Womit wir dann bei Diensten wie "Metadirectory" und anderen landen, die dann wirklich die Synchronisation mehrerer Verzeichnisdienste beherrschen und quasi für die gesamte Firmengruppe (auf der Ebene muss das dann auch aufgehängt werden) die Benutzer synchron halten.
Nebeneffekte der Verzeichnisreplikation
Wenn Sie von einer anderen Firma oder einem fremden Mailsystem (z.B. Notes oder GroupWise) nicht nur die Mailadressen sondern auch Systeminformationen (Frei/Belegt-Zeiten etc.) replizieren können (per Connector oder InterOrg Replikation Tool), dann können die Outlook Benutzer anhand der SMTP-Adresse auch diese Informationen bei Terminvereinbarungen nutzen.
Aufwand und Kosten
Ich habe versucht, einfach in wenigen Worten die Komplexität einer Verzeichnissynchronisation zwischen Exchange 2000 und anderen Datenquellen zu erläutern aber Sie können schon sehen, dass es nicht so einfach ist und es vor allem keine allgemeingültige Aussagen gibt.
Insofern kann ich ihnen auch keine Preise und Aufwände für die Realisierung nennen, solange nicht klar ist, welche Anforderungen gestellt werden und ob es fertige Software hierfür gibt oder eigene Skripte mit VBScript und ADSI ihre Wünsche erfüllen können.
Die Feinheiten des DirSync
Was so einfach klingt ist aber bei einer genaueren Betrachtung gar nicht so trivial.
- Importierte Kontakte ignorieren
Das Script sucht in der Quelle alle Empfänger mit einer Mailadresse um Sie im Ziel zu importieren. Es kann ja nun sein, dass Sie in beide Richtungen replizieren. Dann muss verhindert werden, dass die eigenen Postfächer, die zu Kontakten auf der anderen Seite geworden sind, wieder zurück importiert werden. - Nur Delta-Import
Es kann nicht sein, dass bei jedem Durchlauf alle Kontakte immer wieder komplett importiert werden. Das würde sehr viele Änderungen im Ziel bedeuten, die zudem zu hohen Replikationsbelastungen führen werden. - Delete Detection
Wenn in der Quelle ein Objekt gelöscht wird, dann muss natürlich auch im Ziel der Kontakt entfernt werden. Dazu muss das Skript erkennen, dass in der Quelle das Objekt gelöscht wurde. Das kann durch die Überwachung von "Deleted Objects" im Quell-AD erfolgen. Aber dazu der Sync oft genug laufen, ehe das "Tombstone"-Intervall abgelaufen ist. Da das Script aber für überschaubare Umgebungen ist, liest es alle Objekte der Quelle aus und vergleicht die Liste beim Importieren mit den Ziel. - Replikationskonflikte erkennen
Was sollte einen Administrator in der Zielorganisation Objekte zu verändern? Da das Script keine "Meta-Datenbank" hat, kann es nicht erkennen, ob eine Änderung nun in der Quelle oder im Ziel oder sogar an beiden Stellen erfolgt ist. Das Skript implementiert eine reine "Master-Slave" Funktion, d.h. die Quelle gewinnt immer über das Ziel. - Doppelte Empfänger verhindern
Wenn Firmen einen Abgleich von Adressen herstellen wollen, dann ist es nicht unwahrscheinlich, dass im Ziel schon ein Teil der Adressen besteht. Das kann beim Import natürlich nicht unberücksichtigt bleiben, da sonst doppelte Empfänger in der Adressliste erscheinen. Das Skript überspringt diese Einträge mit einer Warnung. - Sharing SMTP-Adressraum
Ein Sonderfall der Replikation ist die gemeinsame Nutzung des gleichen SMTP-Adressraums. Es kann durchaus sein, dass in einer Firmengruppe mehrere Exchange Organisationen nebeneinander bestehen. In diesem Fall das die TargetAddress des angelegten Kontakts nicht die primäre SMTP-Adresse sein, sondern muss eine eigenständige Adresse (z.B.: org2.firna.de) für das Routing der Mails zwischen den Exchange Organisationen sein. - Fremde Mailsysteme
Theoretisch kann das Script beliebige LDAP-Verzeichnisse miteinander verbinden. Allerdings kann das Script dann nur als Gerüst dienen, da sicherlich sowohl der Export, die Übersetzung als auch der Import angepasst werden müssen. - Feldanpassungen
Verschiedene Organisationen haben unterschiedliche Vorstellungen, wie Namen gebildet werden und welche Felder welchen Inhalt haben. Das beginnt beim "DisplayName", der manchmal "Nachname, Vorname" oder "Vorname Nachname" oder auch "Nachname, Vorname (Firma)" lauten kann. Entsprechend sind Übersetzungen durchzuführen. Das ist natürlich individuell anzupassen
MultiOrgs mit Exchange 5.5
Auch für Exchange 5.5 gab es früher ein Programm, um zwei Exchange 5.5 Organisationen zu verbinden. Das Programm nannte sich "Orgsync.exe" und war im Backoffice Ressource Kit.
- 250578 InterOrg Synchronization tool may not import some Users in the global address list
The InterOrg Synchronization tool is available in the Microsoft BackOffice Resource Kit, Second Edition, and is supported on a "Commercially Reasonable" basis by Microsoft Product Support Services. Please do not confuse the InterOrg Synchronization tool with the InterOrg Replication utility für public folders, which is available on the Microsoft Exchange Server 5.5 Service Pack 2 CD-ROM.
Allerdings ist es mir selbst nie untergekommen und ich denke das Thema hast sich auch langsam erledigt.
Kommerzielle Produkte
So einen Abgleich könnten Sie nun per PowerShell oder VBScript (Siehe auch MiniSync oder CSVSync) selbst umsetzen. Aber unterschätzen Sie die Aufgabe nicht, da es durchaus Sonderfälle zu beachten gibt, z.B. Umbenennungen durch Heirat, Verlagerung von Objekten in OUs, Löschungen etc. Daher kann es interessanter sein, ein Produkt zu kaufen.
Diese Liste nicht nicht aktuell und wird von mir auch nicht weiter gepflegt
-
Microsoft MIIS (vormals FIM, ILM, IIFS, MIS etc.)
MIIS oder IIFP Installation -
GALSYNC v2 - PowerShell Skript
http://www.wapshere.com/missmiis/galsync-v2 - Quest Quickconnect Express
http://www.quest.com/activeroles-server/quickconnect-express-for-active-directory.aspx
http://www.open-a-socket.com/index.php/2010/12/23/gal-sync-with-quest-quick-connect-express-for-active-directory/ - NetSec GalSync
http://www.netsec.de/de/produkte/galsync - SimpleSync (Offline)
http://www.cps-systems.com/
ca. 8.000 US$ und 1.000 US-$ für jede weitere Verbindung - GalSync PRO oder LDAPSync
http://www.uidsystems.com/ - Imanami Directory Synchronisation
http://www.imanami.com/products/DTM/default.asp - SMART Directory Sync
http://www.binarytree.com/products/domino-to-domino/smart-directory-sync.aspx - HP LDSU unter HP Services > Messaging & Collaboration Services >>
LDAP Directory Synchronizer http://h20219.www2.hp.com/services/cache/11212-0-0-225-121.html
LDSU Download & Installation http://h20219.www2.hp.com/services/cache/11215-0-0-225-121.aspx
http://www.hp.com/hps/messaging/mc_ldap_download.html#nt_intel
(Preis ca. 20.000 US-$, 10.000 US-$ zusätzliche Lizenzen) - Novell DirXML
http://www.novell.de/prodinfos/dirxml.html - IBM Tivoli Directory Integrator
http://www-128.ibm.com/developerworks/lotus/library/lwp-msad/ - IBM Tivoli Directory Server (ITDS)
http://www-306.ibm.com/software/tivoli/products/directory-server/index.html - ADSynch,GALSynch Light und GALSynch Advanced
http://uidsystems.com/de/products/adsync-light-de/licensing früher http://www.visioningPro.com
Kostengünstige einfach zu installierende Produkte. -
XSYNC (Offline)
http://www.yside.com/projects/tools.htm
Repliziert das AD von einer Organisation auf eine andere Organisation. Primär zur Bereitstellung von TestUmgebungen vorgesehen.
Weitere Links
- Verbinden von Organisationen
- Org2Org- IOREPL
- Frei/Belegt Zeiten
- ADC Interorg
- Ex552AD
- MiniSync
- MiniSync2
- MIIS
- Metadirectory
- CSV2EX
- CSVSync - Framework
- RTFMAIL und WINMAIL.DAT
- Synchronizing Multiple Exchange 2003 Forests
http://technet.microsoft.com/en-us/library/bb123590%28EXCHG.65%29.aspx
Sehr umfangreiches und interessantes Dokument -
Webcast
Identity-Management
http://www.Microsoft.com/germany/technet/webcasts/reihen.mspx#EZNAE - 264482 XADM: Support Boundaries für Active Directory Connector Inter-Organizational Synchronization
- 268142 XADM: ADC Does Not Replicate Proxy Addresses Over Inter-Organizational Connection Agreement
- Q321318 XADM: The Top Exchange 2000 Directory Service Support Issues
-
Inter-Org Distribution List Migration
http://www.msd2d.com/Content/Tip_viewitem_03NoAuth.aspx?id=f9bcb0b1-7263-4d97-9b49-14ac6d62ff26§ion=Exchange -
Synchronisieren mehrerer Exchange 2003-Gesamtstrukturen
http://www.Microsoft.com/technet/prodtechnol/exchange/DE/Guides/Ex2k3DepGuide/9d790078-0dfb-4684-81b3-2d9d5bf5a0ba.mspx
Für den leistungsfähigeren Abgleich von Verzeichnissen zwischen Organisationen gibt es natürlich auch flexiblere kommerzielle Produkte als den ADC:
- Microsoft Identity and Integration Server (ca. 25.000 US-$)
http://www.Microsoft.com/miis
MIIS - Identity Integration Feature Pack 1a für Microsoft Windows Server Active
Directory
http://www.Microsoft.com/downloads/details.aspx?FamilyID=d9143610-c04d-41c4-b7ea-6f56819769d5&DisplayLang=en
Benötigt Windows 2003 Enterprise und für den produktiven Einsatz ist ein lizenzierter SQL-Server erforderlich. für ein Testfeld kann auch eine MSDE ausreichend sein. - Verwenden der GAL-Synchronisierung von MIIS 2003
http://www.Microsoft.com/technet/prodtechnol/exchange/de/guides/Ex2k3DepGuide/9d790078-0dfb-4684-81b3-2d9d5bf5a0ba.mspx?mfr=true - ADAM
http://www.Microsoft.com/windowsserver2003/adam/default.mspx
Download: http://www.Microsoft.com/downloads/details.aspx?familyid=9688F8B9-1034-4EF6-A3E5-2A2A57B5C8E4&displaylang=en
Das Programm ADAMSYNC erlaubt den Abgleich mit einem Active Directory - ADAMSYNC
http://technet2.Microsoft.com/WindowsServer/en/library/c64799ab-88c0-4e5a-b296-bc26031141291033.mspx?mfr=true
Adamsync is a command-line utility that performs a one-way synchronization of data from Active Directory into ADAM. Adamsync uses an XML-based con-figuration file that drives the parameters of the ongoing synchronization
- http://www.MSExchange.org/tutorials/GAL-Sync-Identity-Integration-Feature-Pack-IIFP.html
-
http://www.Microsoft.com/windowsserver2003/techinfo/overview/galsynchstep.mspx
http://www.Microsoft.com/windowsserver2003/techinfo/overview/miisgalarch.mspx
http://download.Microsoft.com/download/3/e/a/3eae5244-5694-4551-b441-255043c0d006/MIIS_2003_GAL_synchronization_Step_By_Step.doc
http://www.Microsoft.com/windowsserversystem/miis2003/default.mspx
http://www.Microsoft.com/windowsserversystem/miis2003/techinfo/planning/default.mspx
http://msmvps.com/clustering/archive/2004/10/06/15141.aspx - Artikel von Paul Robichaux für Exchange 5.5
http://www.windowsitpro.com/Windows/Articles/ArticleID/9669/pg/1/1.html - ESTOS Meta Directory 999 Euro
http://www.estos.de/produkte/metadirectory/index.htm
Installiert eine Windows-Version von OpenLDAP (Warum nicht ADAM?) mit zusätzlichen Hilfsprogrammen, die Daten aus AD, Datev, LDAP, Notes, CRM, Outlook Kontakten, Tobit und Datenbanken (ODBC) importiert. Damit landen alle Informationen letztlich in einem zentralen LDAP-Server. Ein Abgleich mit Rückschreiben an die Quellen ist jedoch nicht möglich. - XPhone Virtual Directory 2011
Stellt Kontaktdaten aus beliebigen Kundenanwendungen (z.B. AD, DATEV, Microsoft CRM/NAV, Outlook privat/öffentlich, Lotus Notes, ODBC/SQL, CSV) Drittsystemen (z.B. per LDAP für die Outlook Suche) zur Verfügung
Produktportal: http://www.c4b.de/de/produkte/xphone_virtualdirectory2011/
Link zu Testversion: http://www.c4b.de/de/produkte/xphone_virtualdirectory2011/kostenlos-testen.php - LDAP Replikator
http://www.glueckkanja.com/Solutions/ldaprepl.aspx?lang=de
Leider noch kein Preis oder weitergehende Informationen vorhanden. - MS-Mail DirSync
Früher konnte man auch mit Microsoft Mail einen DirSync einrichten. Das ist aber sicher der ungünstigste Weg, da dazu ein MS-Mail Connector samt DirSync Connector installiert und gepflegt werden muss. -
Tools zum Sync von Outlook mit SQL
http://www.geniusconnect.com/articles/GeniusConnect/2/3/54/ -
Penrose: Virtual LDAP-Server als Proxy gegen verschiedene Backends
http://penrose.safehaus.org/penrose/news.html
http://www.gangl.de/Produkte/!!!TEMPLATE!!!/product.asp?prod=OLXAG_ContactImportText -
Integration eines IBM Lotus Domino Directories in ein Microsoft Active
Directory mittels ADSync
http://www.ibm.com/developerworks/lotus/library/domino-adsync/index.html
Die Liste ist sicher nicht vollständig. Hinweise werden gerne angenommen.