Mobile-Menu

Wie Sie einfach und sicher von Exchange loskommen Postfächer per Skript von Exchange und Kopano zu grommunio umziehen

Von Thomas Joos 10 min Lesedauer

Für den Umzug von Exchange liefert grommunio ein PowerShell-Skript, das jedes Postfach als PST-Datei exportiert und auf dem Linux-Server importiert. Auch für Kopano (ehemals Zarafa) gibt es ein passendes Tool. Den größeren Aufwand verursachen dabei freigegebene Postfächer, Clients und die Betreuung der Benutzer. Der Beitrag zeigt Ablauf und Vorteile des Skripts sowie die Erfahrungen von CANCOM aus einem Projekt mit 21.660 Postfächern.

Mit grommunio können sich Unternehmen von Microsoft Exchange lösen. Bei der Migration helfen ausgeklügelte Skripte – und dieser Beitrag!(Bild:  Joos - grommunio)
Mit grommunio können sich Unternehmen von Microsoft Exchange lösen. Bei der Migration helfen ausgeklügelte Skripte – und dieser Beitrag!
(Bild: Joos - grommunio)

Beim Wechsel von Exchange zu grommunio sollen alle Postfächer mit ihren Ordnern und Berechtigungen auf den neuen Server umziehen, während die Benutzer weiterarbeiten. Für Administratoren zählen dabei die nötigen Rechte, Werkzeuge und Kommandos; für Entscheider die Dauer der Wellen und die Nachweise für jedes Postfach. Für Umgebungen mit vielen Postfächern legt grommunio das Skript exchange2grommunio.ps1 bei. Es umfasst 1.080 Zeilen und gehört zum gromox-Quellcode auf GitHub bildet den Kern von grommunio; es ist der Server, der die Postfächer verwaltet und Outlook über MAPI/HTTP und RPC/HTTP, andere Clients über EWS, IMAP und POP3 bedient. Zu gromox gehören auch die Werkzeuge für den Import, zum Beispiel gromox-pff2mt und gromox-import.

Für jedes ausgewählte Postfach arbeitet das Skript drei Schritte ab. Zuerst exportiert es das Postfach mit dem Cmdlet "New-MailboxExportRequest" als PST-Datei in eine Freigabe, auf die das Exchange-Subsystem schreiben darf. Danach meldet es sich per SSH mit "plink.exe" am grommunio-Server an, bindet dort dieselbe Freigabe mit "mount.cifs" nur lesend ein und importiert die Datei. Zuletzt löscht es die PST-Datei, sofern "$DeletePST" auf $true steht, und protokolliert das Ergebnis.

Bildergalerie
Bildergalerie mit 8 Bildern

Erfolgreiche Importe schreibt das Skript in die Datei "exchange2grommunio.done", gescheiterte in "exchange2grommunio.failed". Mit diesen Listen setzt der Administrator eine abgebrochene Migration fort. Dazu kopiert er die Einträge aus .done in die Datei "exchange2grommunio.ignore" und die aus .failed in "exchange2grommunio.import".

Entscheider bekommen einen planbaren Umzug

IT-Leiter brauchen Planbarkeit. Das Skript zur Migration weg von Exchange liest alle Postfächer ohne Obergrenze aus Exchange 2010 bis 2019 und arbeitet über Nacht ohne Aufsicht. Da es für jedes Postfach Exportgröße und Importdauer misst, lässt sich jede Welle nach einer Testmigration verlässlich takten.

Für Datenschutz- und Sicherheitsverantwortliche schreibt das Skript je Postfach ein Export- und ein Importprotokoll in den Ordner "logs" auf der Freigabe. Den Ordner "Wiederherstellbare Elemente" lässt der Export aus, da das Skript "New-MailboxExportRequest" mit dem Parameter "-ExcludeDumpster" aufruft. Für Postfächer mit Aufbewahrungspflichten, zum Beispiel unter einem Litigation Hold, empfiehlt sich deshalb eine gesonderte Sicherung vor dem Umzug.

In der Praxis erweist sich jede Installation als individuell, deshalb können und sollten Administratoren den Ablauf beliebig oft testen und so etwaige Probleme im Vorfeld bereinigen. Die Einstellungen stehen in der Datei "exchange2grommunio.config.ps1", ein Update des Skripts überschreibt sie nicht. Zwischen zwei Testmigrationen leert gromox-mbop die Zielpostfächer, ohne die Konten zu löschen.

Beide Seiten hängen am selben Verzeichnis

Als wichtigste Voraussetzung hängt grommunio am selben LDAP oder Active Directory wie Exchange, damit sich die Benutzer auf beiden Seiten auflösen lassen. Die LDAP-Anbindung sollte der Administrator vor dem ersten Import testen. Das Skript startet er aus einer Exchange Management Shell mit Administratorrechten auf Windows Server. Das Programm "plink.exe" gehört in dasselbe Verzeichnis wie das Skript, für die Anmeldung per Schlüssel kommt "pageant.exe" dazu. Auf dem grommunio-Server braucht der Import das Paket "cifs-utils", den Hostschlüssel des Servers bestätigt der Administrator vor der ersten Ausführung in plink.

Der Administrator braucht die Rolle Mailbox Import Export

Das Cmdlet "New-MailboxExportRequest" gehört zur Rolle "Mailbox Import Export", die Exchange in der Voreinstellung keiner Rollengruppe zuweist. Meldet die Shell das Cmdlet als unbekannt, fehlt dem Konto diese Rolle. Der Administrator weist sie mit

New-ManagementRoleAssignment -Role "Mailbox Import Export" -User "Administrator"

zu und nimmt sie nach der Migration wieder weg. Ein heruntergeladenes Skript hat die Markierung "Mark of the Web", das Cmdlet "Unblock-File" entfernt sie vor dem ersten Start. Für die Freigabe verlangt das Skript Vollzugriff für die Gruppe "Jeder", da der Exchange-Dienst als Netzwerkdienst läuft. Microsoft nennt für den Export auf eine Netzwerkfreigabe Lese- und Schreibrechte für die Gruppe Exchange Trusted Subsystem. Das Projektteam sollte die Freigabe nach dem letzten Import entfernen, da bis dahin jedes Konto im Netz die PST-Dateien lesen kann.

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu Netzwerktechnik, IP-Kommunikation und UCC

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung. Die Einwilligungserklärung bezieht sich u. a. auf die Zusendung von redaktionellen Newslettern per E-Mail und auf den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern (z. B. LinkedIn, Google, Meta).

Aufklappen für Details zu Ihrer Einwilligung

Variablen steuern Ziel, Freigabe und Anmeldung

Die Variable $GrommunioServer nimmt den FQDN des Zielservers auf, $WinSharedFolder und $LinuxSharedFolder beschreiben dieselbe Freigabe als UNC-Pfad und als Mountpunkt auf Linux. $LinuxUser legt das Konto auf der grommunio-Seite fest, zum Beispiel root, die Anmeldung läuft per Kennwort, Schlüssel oder pageant.

Die Postfächer für den Umzug bestimmen zwei Listen. Ist das Array $ImportMboxes leer, liest das Skript die Datei "exchange2grommunio.import", bleiben beide leer, migriert es alle Postfächer. Mit $MigrationPriority auf "Normal" arbeitet der Export nach Angabe von grommunio in der Regel schneller als mit "High". $IgnoreMboxes oder die Datei "exchange2grommunio.ignore" schließen Postfächer immer aus, zum Beispiel Konten ausgeschiedener Mitarbeiter.

Zwei Durchläufe verkürzen die Ausfallzeit

Stehen $CreateGrommunioMailbox und $OnlyCreateGrommunioMailbox auf $true, legt das Skript zuerst alle Postfächer leer an. Bei der zweiten Ausführung mit beiden Parametern auf $false überträgt es die Daten.

Für eine unbeaufsichtigte Migration stehen $WaitAfterImport und $StopOnError auf $false, damit das Skript bei einem Fehler nicht auf den Administrator wartet. Bricht ein Export mit der Meldung "TooManyBadItemsPermanentException" ab, erhöht der Administrator $BadItemLimit oder setzt den Wert auf "unlimited". Zum Anhalten legt der Administrator die Datei "exchange2grommunio.STOP" auf der Freigabe an, das Skript hält dann nach dem laufenden Postfach an.

Einzelne Postfächer importiert der Administrator von Hand

Für ein einzelnes Postfach genügt eine PST-Datei aus Outlook. Auf dem grommunio-Server wandelt "gromox-pff2mt" https://docs.grommunio.com/man/gromox-pff2mt-8/ die Datei in das Transferformat von gromox um, "gromox-import" schreibt den Strom in das Zielpostfach:

gromox-pff2mt sample.pst | gromox-import -u benutzer@example.com

Ohne weitere Option schreibt "gromox-import" den Inhalt in einen neuen Ordner "Import of <Datei> on <Datum>". Den Ordner hängt das Werkzeug unter die Entwürfe, da es lose Objekte in der Voreinstellung dort ablegt. Mit der Option -B legt der Administrator einen anderen Zielordner fest. Für PST-Importe per Skript rät grommunio zu -B. Mit der Option -s ordnet "gromox-pff2mt" Sonderordner, zum Beispiel "Gesendete Elemente", den passenden Ordnern im Postfach zu:

gromox-pff2mt -s sample.pst | gromox-import -u benutzer@example.com

Den Posteingang erkennt -s allerdings nur in OST-Dateien, da PST-Dateien dafür keine Zuordnung enthalten. Das Migrationsskript nutzt denselben Weg und ruft auf dem grommunio-Server "gromox-e2ghelper" mit der Option -s auf.

Bereits importierte Nachrichten erkennt "gromox-import" nicht, ein zweiter Import derselben PST-Datei erzeugt Dubletten. Der Administrator sollte gescheiterte Postfächer leeren, bevor er sie über "exchange2grommunio.import" ein zweites Mal anstößt.

Der Import füllt auch Öffentliche Ordner

Mit gromox importiert grommunio PST-Dateien auch in Öffentliche Ordner. Als Ziel gibt der Administrator statt einer Benutzeradresse nur die Domäne mit vorangestelltem @ an:

gromox-pff2mt sample.pst | gromox-import -u @domain.example

Damit Benutzer die importierten Nachrichten anschließend ändern können, sollte der Administrator die Berechtigungen der Öffentlichen Ordner nach dem Import entsprechend setzen.

Freigegebene Postfächer brauchen eigene Regeln

Die Berechtigungsmodelle beider Systeme unterscheiden sich. Ein Administrator konnte in der grommunio-Community einem Benutzer aus dom1.de keinen Zugriff auf ein freigegebenes Postfach in dom2.de geben. Legte er das Postfach in dom1.de an, fand das Migrationsskript das Ziel nicht mehr.

In einem zweiten Thread stellt ein Administrator fest, dass ActiveSync nur Benutzerpostfächer einbindet. Für jedes freigegebene Postfach auf dem Smartphone braucht es also ein eigenes Konto mit Anmeldedaten, das eine weitere Lizenz belegt. Vor dem Umzug sollte das Projektteam daher alle Funktionspostfächer auflisten, zum Beispiel info@ oder buchhaltung@, und für jedes die zugreifenden Benutzer und den Bedarf an Smartphone-Zugriff festhalten.

Seit gromox 3.11 legt grommunio auf Wunsch Kopien gesendeter Mails in den Gesendeten Elementen freigegebener Postfächer ab. Der Administrator schaltet die Funktion mit dem Werkzeug "mbop" ein. Für Zugriffe über EWS gilt die Einstellung noch nicht.

CANCOM: Umzug von Kopano-Postfächern in drei Wellen

Der IT-Dienstleister und grommunio-Partner CANCOM mit Sitz in München beschäftigt mehr als 5.300 Mitarbeiter. Für einen Kunden mit 17.500 Benutzern hat CANCOM 21.660 Postfächer mit 42 TB Daten von Kopano zu grommunio umgezogen. Kopano hat jüngst sein Geschäftsmodell umgestellt, daher hat auch CANCOM einige Aufträge für Migrationen auf der Liste. Dabei ist vom Exchange-Umzug her Einiges übertragbar: Vor allem die Erfahrungen mit Wellen, Berechtigungen und Benutzerbetreuung helfen. Die Migration dauerte 30 Stunden, verteilt auf drei Wellen zu je zehn Stunden. Volker Müller von CANCOM nennt sie „eine echte Erfolgsgeschichte“, dank grommunio-Architektur.

Die Wellen hatten einen organisatorischen Grund, das Team wollte den User Help Desk bei der Betreuung nicht überlasten. Technisch ist die Umstellung nach Müllers Worten „auch an einem Wochenende oder auch kontinuierlich möglich mit einer durchschnittlichen Maintenance je User von ca. 5-10 Minuten“. Eine Migrationspipeline lief automatisch und meldete ihren Status regelmäßig in einen Teams-Chat.

In der größten Umgebung führt CANCOM 4.436 freigegebene Postfächer als "shared (EAS)". Ein End-to-End-Test öffnet auf jedem der 18 Backends ein Referenzpostfach, die mittlere Ladezeit betrug über 30 Tage hinweg in der Regel 2,5 Sekunden. Nach Müllers Angaben ist das „schneller als Outlook Webaccess. Sehr positiv ist die Skalierung bei großen User-Zahlen im MultiServer Betrieb“, hält Müller zudem fest.

Für den Betrieb hat CANCOM grommunio automatisch in den CANCOM SMART Workplace eingebunden. Das Portal läuft in Deutschland auf Open-Source-Basis und verwaltet die Identitäten und Zugriffsrechte. Benutzer und Postfächer legt es über die API von grommunio an. Fordert ein Benutzer im Self-Service eine Funktion seines Postfachs an, zum Beispiel einen Alias, setzt das System den Auftrag nach Müllers Angaben innerhalb weniger Sekunden um. Die Anmeldung läuft per Single Sign-on über Keycloak, CANCOM erweitert sie um Passkeys und ein Captcha. Doch auch hier zeigte sich: Jede Migration ist ein individuelles Projekt, das kein Script und keine Integration komplett automatisieren kann.

Nach den Wellen steigt der Supportbedarf

Elke Bauwens von CANCOM beschreibt die Erfahrungen nach dem Import: „Es gab User, die nach dem Urlaub den Systemwechsel erstmal nicht bemerkt hatten.“ Die Berechtigungsstrukturen sind nicht identisch, CANCOM brauchte eigene Integrationen, um sie korrekt zu übertragen. Dokumentationen und Migrationshilfen „wurden oftmals nicht gelesen“.

Da die meisten Benutzer nicht immer IT-affin sind, stieg das Supportaufkommen nach den Wellen auch bei CANCOM stark an, vor allem bei der Einrichtung der Clients. Verschachtelte Verteilerlisten mit 500 Elementen wollte das Team zunächst aussparen und programmierte sie dann doch nach, da die Benutzer im Tagesgeschäft ohne sie nicht zurechtkamen. Beim nächsten Mal will CANCOM vorab ankündigen, dass der Suchindex nach dem Import Zeit braucht. Das Projektteam sollte die Wartezeit in die Ankündigung jeder Welle schreiben.

Der Administrator richtet Outlook auf grommunio ein

Für die Fehlersuche bei Autodiscover unter Windows klickt der Administrator bei gedrückter Strg-Taste mit der rechten Maustaste auf das Outlook-Symbol im Infobereich und wählt "Test AutoDiscover". Da der Dialog mitunter ein gespeichertes Kennwort nutzt, empfiehlt grommunio im Zweifel das Werkzeug gromox-dscli, das sich auch um einige andere bekannte Outlook-Bugs kümmern kann.

Zeigt ein SRV-Eintrag im DNS auf einen anderen Hostnamen als die Maildomäne, fragt Outlook den Benutzer, ob der Server die Einstellungen setzen darf. Ein CNAME- oder A-Eintrag für autodiscover.example.com anstelle des SRV-Eintrags erspart diese Rückfrage.

Für die Outlook-Clients nach dem Umzug bringt gromox (ab 3.11) mehrere Korrekturen. Die Unterhaltungsansicht von Outlook arbeitet schneller, da grommunio den Index dafür wiederhergestellt hat. Im 32-Bit-Outlook öffnet der ausgegraute Abwesenheitsdialog jetzt ohne Absturz. Outlook für Mac speichert über EWS Entwürfe für Antworten und Weiterleitungen.

Kennwörter mit Umlauten scheitern an der Codepage

Die Windows-Bibliotheken übertragen die Basic-Anmeldung in der Codepage des Systems, gromox auf Linux arbeitet dagegen ausschließlich mit UTF-8. Kennwörter mit Umlauten scheitern deshalb, solange Windows nicht auf UTF-8 umgestellt ist. Die Option dafür bieten die Regionseinstellungen der klassischen Systemsteuerung. Die Umstellung hat nach Angabe von grommunio allerdings Folgen für alle Daten ohne Zeichensatzangabe. Die Anmeldung über Negotiate arbeitet weitgehend ohne diese Zeichensatzprobleme. Der Helpdesk sollte den Fall kennen, bevor nach dem Umzug die ersten Anrufe kommen.

Version 2026.06.2 vereinfacht die Anmeldung

Seit der Version 2026.06.2 vom 30.09.2026 richtet grommunio Auth die Keycloak-Clients für alle Komponenten selbst ein und aktualisiert sie bei jeder Paketinstallation. Mit dem Update kommt Keycloak 26.7.4. Schon Keycloak 26.7.2 schließt die Lücke CVE-2026-18963 mit einem CVSS-Score von 9,1, grommunio rät, das Update nicht auszulassen. Es empfiehlt sich, die Version vor der ersten Migrationswelle einzuspielen.

Die Planung beginnt bei den Funktionspostfächern

Mehr Aufwand als das Skript verursachen Funktionspostfächer, Berechtigungen und die Clients der Benutzer, mit ihnen sollte die Planung daher beginnen. Elke Bauwens wünscht sich „mehr Kunden, für die wir genau die Migration durchführen dürfen“, und verweist auf das aufgebaute Detailwissen und den erreichten Automatisierungsgrad.

(ID:50997819)