Notes Migration

Diese Seite beschreibt die Notes Migrations- und Koexistenz-Werkzeuge von Exchange 2003. für Exchange 2007 ist die Seite TransporterSuite Notes passender.

Neben der Koexistenz ist natürlich auch die Migration von Postfächern aus Notes nach Exchange ein wichtiges Thema. Immer mehr Firmen wechseln anscheinend zumindest das Mail und Kalendersystem nach Exchange.

Microsoft unterstützt dies durch den Assistent zur Migration von Notes Daten nach Exchange. Seit Dezember 2005 müssen Sie hier aber genauer nachschauen, da es nun zwei Migrationsassistenten gibt:

  • MailMig
    Diese Komponente ist sogar schon bei der Installation von Exchange auf ihrem Server vorhanden und findet sich im Startmenü. Siehe auch MailMig. Dieser Migrationsassistent kann neben GroupWise, IMAP4 und anderen Quellen auch Daten aus Lotus Notes exportieren. Die mir bekannte letzte Version ist 06.50.7631, die im Exchange 2003 SP2 enthalten ist.
  • Notes-Migrationen
    Eine neuer nur für Notes-Migrationen nutzbarer Assistent wird durch die Installation des Dezember Updates installiert. Anscheinend wird Microsoft diesen zweiten Assistenten weiterentwickeln, da das Archiv aktueller als das Service Pack ist und sogar eine neue Version des Notes Connector enthält. Ich habe den Eindruck, dass die Koexistenz mit Notes bei Microsoft etwas höher angesetzt wird und langfristig vielleicht sogar eigenständig weiterentwickelt wird.

Der Migrationsassistenten muss aber nicht auf dem Exchange Server selbst ausgeführt werden, sondern kann auch auf jedem anderen Desktop genutzt werden. Sie müssen dann eben nur beachten, dass die Daten quasi "zweimal" über das LAN gehen. Um von Notes nach Exchange zu migrieren benötigen Sie aber auch einen Notes Client und das dieser Faktur wird die meisten dann doch davon überzeugen, die Migration nicht direkt auf dem Exchange Server durchzuführen.

Installation NotesMig

Um den Migrationsassistenten für Notes zu erhalten können Sie einfach die Exchange Verwaltungstools installieren und mit dem Exchange Service Pack aktualisieren. Dieser Migrationsassistenten ist aber wohl nicht mehr aktuell, denn im Dezember 2005 wurde eine neue Version mit einem neuen Namen veröffentlich. Microsoft aktualisiert sowohl den Migrationsassistenten genauso wie den Connector oft auch zwischen den Service Packs für Exchange.

Achtung: Ab Exchange 2007 gibt es wieder etwas Neues. Der Notes Transporter !
TransporterSuite Notes  und TransporterSuite

Microsoft Exchange Server 2003 Migration Wizard für Lotus Notes
http://www.Microsoft.com/downloads/details.aspx?FamilyID=c105b3e4-3beb-4f1e-8f52-e345af6c3e50&DisplayLang=en

Der Version 06.05.7745 vom Dezember 2005 benötigt mindestens einen bereits installierten Notes Client 6.5.3 oder höher. Ansonsten ist eine Installation nicht möglich.

Wenn Sie bereits den Migrationsassistent durch das Exchange Setup auf dem Client haben, dann müssen Sie "Reinstall" auswählen, da das Setup irrtümlich bereits erkennt, dass schon eine Version vorhanden ist und er kein "Update" macht.

Sollte es Probleme bei der Installation selbst geben, dann lohnt ein Blick in das Stammverzeichnis ihres Servers. Dort finden Sie eine Datei mit dem furchtbar langen Namen "Fortschrittsanzeige für das Setup des Assistenten für die Migration nach Exchange für Lotus Notes.log", in welcher der Installationsfortschritt und natürlich die entsprechenden Fehler zu finden sind. Hier ein Auszug

Vorbereitung

Vor der eigentlichen Migration sollten Sie auf der Notes Seite einige Vorarbeiten durchführen. Ich bin leider nicht der Notes Spezialist, um hierzu ein "How-To" zu liefern, aber ich weiß, wen ich dann immer wieder fragen kann. Vermutlich kann ihnen ihr Notes Administrator auch weiter helfen. (Das "wie" ändert sich auch immer mal wieder von Version zu Version, so wie in Outlook ja auch Menüs den Platz wechseln.)

  • Notes: ExcludeFromView
    NotesMig nutzt versteckte Ansichten (z.B.: $ALL und andere) als View um die Inhalte zu exportieren. Nun kann es aber passieren, dass Anwender Elemente aus bestimmten Ansichten ausgeschlossen haben. Das zeigt sich durch entsprechende Inhalte im Feld "ExludeFromView". Sie können dieses Feld entweder über einen Agenten ändern lassen oder Sie ändern die Ansicht derart, dass das Feld "Excludefrom View" einfach nicht mehr berücksichtigt wird. Ich habe hier oft die Buchstaben D, S, A und T gesehen, die vermutlich für die Ansichten $Draft, $Sent, $All und $Todo stehen.
    326282 XCON: Some Calendar Items Do Not Migrate from Lotus Notes to Exchange 2000 or Exchange Server
  • Notes: Fixup
    Der nächste Schritt ist ein "FIXUP" auf den Datenbanken um korrupte Elemente zu reparieren.
  • Notes: Rechte
    Natürlich benötigt die Notes.ID, mit der der Migrationsassistent sich zu allen Postfächern verbindet zumindest die Lese-Rechte auf diese Postfächer.
  • Notes Client: Adressbuch abgleichen
    Seit Notes 6 gibt es eine die Möglichkeit, das "persönliche Adressbuch" (NAB-Datei) mit der Maildatenbank abzugleichen. Diese Funktion muss jeder Anwender natürlich mal ausführen, damit die Kontakte auf dem Server landen. Diese Funktion ist von Notes eigentlich dafür gedacht, dass die Anwender auch per Webbrowser ihre persönlichen Kontakte nutzen können. Leider kann diese Information nicht vom Notes Migration Wizard extrahiert werden.

Migration

Die eigentliche Migration ist dann mit dem Notes Migrator sehr einfach. Sie geben die NotesID an, wählen die Notes user, den Ziel Exchange Server und die Active Directory OU aus und lassen das System seine Arbeit tun. Sie haben natürlich die Wahl zwischen einer "Einschritt-Migration", d.h. die Daten werden aus Notes exportiert und in Exchange importiert, oder einer Zweischritt-Migration, bei der die Daten erst einmal als Dateien abgelegt werden. Die Zweischrittmigration erlaubt es, die Postfächer auch von einem Server zu einem anderen z.B.: per Bandlaufwerk, Wechselfestplatte oder anderen Wegen zu übertragen. Die Zweischrittmigration ist auch der Weg, wenn Sie auf dem bestehenden Notes Server nach dem Export Exchange neu installieren wollen.

Nacharbeiten

Nach der Migration befinden sich alle Nachrichten natürlich in der Mailbox des Benutzers aber aus mir nicht ganz verständlichen Gründen sind die Termine der Anwender nicht direkt in den Kalender übernommen worden, sondern werden als SC2-Anlage mit einer Mail samt Beschreibung im Postfach des Benutzers abgelegt. Jeder Anwender muss nun selbst die Anlage als Datei speichern und mit Outlook wieder importieren. Die SC2-Datei, welche der Notes Migrationsassistent in das Postfach des jeweiligen Benutzers ablegt folgende Inhalte

  • Termine
    Termine werden durch diesen Schritt sauber importiert, wobei wiederkehrende Termine allerdings als lauter einzelne Termine eingetragen werden. Die Zusammengehörigkeit geht dabei leider verloren.
    Anlagen von Terminen werden übrigens nicht zum Termin gespeichert sondern unter dem "Posteingang\Kalenderanlagen" schon während der Migration abgelegt. Ein entsprechender Hinweis wird beim Termin angefügt
    Wenn Sie die SC2-Datei also nicht importieren, dann haben Sie dennoch die Anlagen.
  • Aufgaben
    Auch Aufgaben werden durch den Migrationsassistent komplett migriert. Aber auch hier landen Anlagen bei Aufgaben abgelöst von der eigentlichen Aufgabe in "Posteingang\Kalenderanlagen".
  • Kontakte
    Auch wenn die SC2-Datei prinzipiell auch Kontakte importieren kann, so muss natürlich der Export erst die Kontakte übernehmen. Leider macht dies der Notes Migrationswizard nicht. Insofern bringt es auch nichts, ein persönliches Adressbuch in das Mailpostfach zu synchronisieren. Hier ist der NABImport das Mittel der Wahl.

Den Import von den Schedule+ -Dateien im Posteingang kann Outlook auch automatisiert durchführen. Allerdings nur, wenn Outlook wirklich "das erste Mal" startet oder durch Löschen von HKEY_CURRENT_USER/Software/Microsoft/Office/9.0/Outlook/Setup/First-Run in der Registry oder durch die Kommandozeile /firstrun)

  • 197653 OL2000: How to Reset Outlook to a First-Run Condition
  • 236173 OL2000: Schedule+ Data Is Not Deleted from Server.
  • 190917 OL98: (ODK) How to Automatically Import Schedule+ Data to Outlook
  • 298672 OL2000: (CIW) How to Automatically Import Schedule+ Data to Outlook

HKEY_CURRENT_USER\Software\Microsoft\Office\9.0\Outlook\Import\ImportDetection:DWORD = 2

1 = (When you set this value, the user is prompted to import Schedule+ information.)
2 = (When you set this value, the user is not prompted to import Schedule+ information.)

Diese Einstellung sorgt dann dafür, dass Outlook die SCD-Datei selbständig extrahiert, als Datei in %TEMP% speichert und importiert. Die Mail im Postfach bleibt allerdings bestehen.

Der Import der persönlichen Adressen erfolgt allerdings etwas umständlicher, da das persönliche Adressbuch von Notes in der names.nsf beim Anwender zusammen mit diversen anderen Konfigurationsdaten gespeichert werden. Entsprechend sind diese Adressen bei Bedarf zu importieren. Das ist gar nicht so einfach, da es wohl ursprünglich nicht vorgesehen war. Folgende Wege sind denkbar:

Voraussetzung für den Einsatz ist bei all diesen Wegen aber ein installierter und konfigurierter Notes Client auf dem Computer und der Start durch den Anwender bzw. Unter Verwendung der Notes.ID

Unterstützung durch Net at Work:
Technisch sollte es nicht allzu schwer sein, serverseitig durch alle Mailboxen zu laufen und die SC2-Anlagen des Migrationsassistenten zu extrahieren, auszulesen und als Termine in das Postfach wieder einzustellen. Vielleicht haben Sie ja eine größere Notes nach Exchange Migration und benötigen hier Hilfe.

NABImport

Diese Programm wurde wohl um 2001 von einem Mitarbeite bei Microsoft Consulting Services entwickelt und scheint über die Notes Schnittstelle die Adressen zu extrahieren und über MAPI in Outlook oder eine Access Datenbank zu importieren. Neben der grafischen Variante gibt es auch die Möglichkeit der Steuerung über eine Kommandozeile.:

NABImport benötigt als Voraussetzungen:

  • Visual Basic 6 Runtime (Visual Basic 6.0 SP5: Run-Time Redistribution Pack (vbrun60sp5.exe) http://www.Microsoft.com/downloads/details.aspx?FamilyID=bf9a24f9-b5c5-48f4-8edd-cdf2d29a79d5&DisplayLang=en
  • comdlg32.ocx
    Notfalls kopieren Sie diese einfach von einem anderem System. Sie ist Bestandteil der meisten Visual Basic 6 Programme und damit auf den meisten Clients vorhanden. Auf einem Exchange Server allerdings nicht.
  • Notes Client 4.x oder 5.x
    6.x Client wurde angeblich nicht getestet aber scheint zu funktionieren
  • Outlook 2000
    höhere wurden nicht getestet aber scheinen zu funktionieren

Das Programm hat aber auch einige Einschränkungen

  • Version und Sprachprobleme
    Anscheinend hat NABImport Probleme, wenn der Notes Client nicht Englisch ist und auch die Version scheint etwas knifflig zu sein.
  • NABIMPORT sucht nach der Ansicht "$Contacts"
    Wenn NABImport daher auf einem deutschen Client genutzt wird, wird die Vorlage nicht gefunden. Sie können dann die Quelle natürlich anpassen.
  • NABIMport vergisst Felder
    Einige Tests haben ergeben, dass NABImport anscheinend nicht alle Felder der Kontakte übernimmt. Genauer konnte das nicht ermittelt werden,  da es auch an den Ansichten gelegen haben könnten (deutscher Server)

Insofern macht es durchaus Sinn, sich nach Alternativen umzusehen.

CSV-Export oder "Lotus 1-2-3"

Natürlich können die Anwender auch manuell vorher die Adressen in eine Datei exportieren und danach importieren. Dabei gehen aber eventuell einige Einstellungen und Informationen verloren, die nicht über eine Datei ausgetauscht werden können. Diese Weg würde es aber erlauben, den Notes Client erst zu deinstallieren, ehe Outlook installiert wird.

Diverse Newsgroups berichten, dass ein Export in eine Lotus 1-2-3 Datei bessere Ergebnisse liefert. Allerdings muss dazu auch der entsprechende Importer für Outlook installiert sein, was normalerweise nicht der Fall ist.

Das zweite Problem ist die Zuverlässigkeit der Anwender, diesen Export korrekt zu erreichen. Sie müssen die "richtige" Ansicht haben und eine Exportdatei angeben. Dies alles führt oft zu Probleme. Daher ist zu prüfen, ob dieser Export nicht durch einen Automatismus erfolgt. Denkbar ist

  • Notes Script
    Der Notes Administrator könnte vor der Migration eine Mail mit einem entsprechenden Script dem Anwender zur Ausführung senden. Das Script würde mit den Rechten des Anwenders einfach die Nachrichten in einer CSV-Datei in einem geeigneten Format exportieren.
  • VBScript
    Alternativ kann man seit dem Notes Client 5.0.2 auch über ein COM-Objekt auf Inhalte zugreifen, so dass eine Entwicklung mit eigenen Scripten nichts mehr im Wege steht.

Sonstige AddOns

Auf der Developer Seite von Notes (http://www-10.lotus.com/ldd/sandbox.nsf/ByDateNJ/c7dbac4064b1319085256b26005090ce?OpenDocument) gibt es ein Programm, welches auf dem Notes Client als Agent läuft und den Export und Import von Kontakten nach Outlook verspricht. Mehr Informationen finden sich auf der Webseite des Autors (http://www.geocities.com/shussainakbar):

My utility is actually a LotusScript agent. It can import/export between Outlook personal folders / Exchange Public Folders and Notes PAB / any nsf marked as containing contacts. It uses MAPI calls to gather info from Outlook & Notes so the only manual step is where the dialog boxes pop up to ask the source & destination. It also checks für duplicates. I had designed a full Synchronization method as well, but lost further interest.

Weiterhin gibt s von Transend Corporation ein Programm Transend Migrator, welches eine clientbasierte Migration durchführt und durch den Anwender aufgerufen wird. Dabei übernimmt es unter anderem auch Adressen mit http://www.transend.com

Einschränkungen des Migrationsassistent

Quelle: http://www.Microsoft.com/technet/prodtechnol/exchange/guides/NotesDirAndMailMigrat/b208dfe6-0315-44b1-8d25-37e1b681be07.mspx

  • Serientermine werden zu individuellen Terminen
    Ein Serientermin in Notes wird in Outlook nicht als Serientermin angelegt, sondern mehrfach. Das ist wohl eine Einschränkung des Outlook Imports, denn in der SC2-Datei steht der Eintrag durchaus als "recurring appointment".
  • Verschlüsselte Mails
    Verschlüsselte Nachrichten werden generell nicht migriert. Wenn solche Inhalte vorhanden sind, könnten die Anwender vorab die Mails entschlüsseln oder selbst übernehmen. (Weiterleiten o.ä.) Es ist ja in der Natur der Sache, dass Nachrichten, die verschlüsselt an einen Anwender gesendet werden,
  • Keine Kontakte in persönlichen Adressbüchern
    Allerdings gibt es dazu im Notes Migrationspaket das Programm "NAB-Importer", mit dem der Anwender selbst auf dem Client die NAB-Datei in eine PAB-Datei übernehmen kann
  • Terminteilnahme zeigt "keine Antwort" an
    Wenn Sie Benutzer zu einem Termin einladen, können Sie sowohl in Notes als auch in Outlook
  • Nur partielle Deinstallation
    Wenn Sie den Notes Migrator auf einem Exchange Server installieren und nach der Migration wieder deinstallieren, dann werden nicht alle Einstellungen wieder rückgängig gemacht, Es bleiben also einige "Reste" bestehen.
  • Eingeschränkte Kommandozeile für unicode
    UNICODE-Migrationsdateien können nicht per Kommandozeile importiert werden.

Wünsche an Microsoft

Wenn ich mir was wünschen würde, dann sind es folgende zwei Punkte, die zudem sicher nicht so schwer zu realisieren sind.

  • Termine direkt importieren
    Ich kann nicht verstehen, dass der Migrationsassistent nicht direkt Termine in das Postfach importiert. Die Berechtigungen sind vorhanden und der Export aus Notes funktioniert. Anstatt die Termine in eine SC2-Datei zu schreiben, sollte es seit Outlook 97 Zeiten einfach möglich sein, Termine zu schreiben.  Ich vermute es liegt daran, dass Notesmig einfach nur MAPI statt das Outlook Objekt Modell nutzt, aber selbst ich kann aus VBScript ja mittlerweile Termine schreiben (MSXFAQ.DE - Feiertage)
  • Anlagen beim Termin oder der Aufgabe
    Wenn dann schon die Termine wie die Aufgaben importiert werden, dann sollte es auch nicht mehr erforderlich sein, die Anlagen dieser Objekte unter "Posteingang\Kalenderanlagen" als separate Objekte zu speichern.

Workarounds

Leider habe ich bislang noch nicht die Zeit dazu gefunden folgende Dinge zu implementieren, auch wenn ich sehr große Vorteile für größere Migrationen sehe:

  • SC2 Server Import
    Über mein VBScript MBReport kann ich heute schon durch alle Mailboxen eines Server durchlaufen und damit könnte ich natürlich auch auf dem Server die SC2-Dateien lesen und extrahieren. Das Format der SC2-Datei ist ebenfalls "Klartext" so dass ich damit natürlich auch die Termine serverseitig für alle Benutzer importieren könnte.

Der Exchange 2007 Notes Transporter legt keine SC2 Dateien mehr an, sondern importiert direkt

  • Anlagen zur Termine/Aufgaben
    Auf der Speicherung der Anlagen unter dem Posteingang können natürlich auch nicht gerade begeistern. Diese Elemente enthalten aber ebenfalls noch Daten zur Quelle. Eventuell könnte mit dieser Information eine Verbindung zum Termin hergestellt und die Daten wieder zusammengeführt werden.
  • Kontakte Übernehmen
    Die ganze Arbeit mit NABImport etc. ist nicht wirklich schön gelöst. Vielleicht ist es ein Weg bei den Anwendern einfach über ein VBScript den Export der Kontakte z.B.: in eine XML-Datei oder für Outlook optimierte CSV-Datei zu erlauben. Vor der Migration würde dieses Script dann z.B. bei der Anmeldung gestartet und würde später einen Import in Outlook erlauben.
    Der Zugriff per COM ist z.B. auf http://www-128.ibm.com/developerworks/lotus/library/ls-COM_Access/ beschrieben.
    Wenn die parallele Installation von Notes Client und Outlook auf einem PC nicht möglich ist, dann könnte das Script natürlich einfach die Kontakte erst mal exportieren und als "%username%.csv" auf einem Server ablegen. Ein zweiter Prozess könnte die Daten dann sogar auf dem Server importieren. (analog zu Feiertage)

Vielleicht haben Sie ja eine Notes Migration vor und sehen es als sinnvoll an, diese Lösung zu beauftragen.

Weitere Links