- Startseite
- Workspace
- Installation
- Installation
- Docker
- Migrieren von MS Exchange-Daten zu ONLYOFFICE
Migrieren von MS Exchange-Daten zu ONLYOFFICE
Einleitung
Dieser Artikel zeigt, wie Sie die Daten von MS Exchange nach ONLYOFFICE übertragen können. Derzeit werden die folgenden Datentypen für die Übertragung unterstützt:
- Benutzer,
- Postfächer,
- E-Mail-Nachrichten.
In den nächsten Versionen werden wir die Unterstützung für die folgenden Daten hinzufügen:
- Kalender,
- Kontakte,
- Aufgaben.
Daten aus MS Exchange exportieren
Ausführen des erforderlichen Dienstes
Stellen Sie zunächst sicher, dass der Dienst Microsoft Exchange Mailbox Replication (oder MSExchangeMailboxReplication) gestartet ist. Führen Sie den folgenden Befehl in der Befehlszeile aus:
Get-Service -name MSExchangeMailboxReplication
Wenn der benötigte Dienst ausgeführt wird, sieht das Befehlsergebnis folgendermaßen aus:
Status Name DisplayName------ ---- -----------Running MSExchangeMailb... Microsoft Exchange Mailbox Replication
Oder Sie können in der Windows-Systemsteuerung - Verwaltung - Dienste nach der Microsoft Exchange Mailbox Replication suchen und diese ausführen.
Zuweisen der Rechte
Weisen Sie dem Benutzer, der den Export der Postfächer aus MS Exchange durchführen soll, die Administratorrechte zu:
New-ManagementRoleAssignment –Role "Mailbox Import Export" –User <user name>
Dabei ist <user name>
der Benutzername, der die Daten exportieren soll. Wenn Sie dies selbst tun, weisen Sie Ihrem Konto diese Rolle zu.
New-ManagementRoleAssignment –Role "Mailbox Import Export" –User John
Starten Sie anschließend die Exchange Web Services (EWS)-Konsole mit Administratorrechten neu. Klicken Sie dazu mit der rechten Maustaste auf das EWS-Symbol im Startmenü und wählen Sie die Option Als Administrator ausführen.
Ausführen des Skripts
Laden Sie nun das Skript herunter, das alles für den korrekten Export der Daten aus MS Exchange erledigt. Das Skript ist hier verfügbar. Führen Sie es nach dem Download in der EWS-Konsole aus:
.\ExportExchangeData.ps1 -dir "C:\Temp"
Dabei ist .\ExportExchangeData.ps1
der Pfad zum Skript und -dir "C:\Temp"
der Pfad zum Ordner, der zum Exportieren der Dateien verwendet wird.
-dir
festgelegte Ordner für alle freigegeben wird. Dies ist für die korrekte Ausführung des Befehls New-MailboxExportRequest
erforderlich. Nach Abschluss der Ausführung des Skripts wird die Freigabe des Ordners aufgehoben.Der Ordner mit den exportierten Dateien muss dann auf den Computer übertragen werden, auf dem ONLYOFFICE installiert ist.
PST
-Dateien die richtigen Daten enthalten, können Sie dazu das kostenlose Tool pst-viewer verwenden.- Zunächst erstellt das Skript den mit dem Parameter
-dir
festgelegten Ordner. Falls der Parameter fehlt, wird der StandardordnerC:\Temp
verwendet. - Nach der Erstellung ist der Ordner für alle freigegeben, sodass der Befehl
New-MailboxExportRequest
ordnungsgemäß funktionieren kann. -
Anschließend prüft das Skript, ob die Datei für die Benutzerliste bereits erstellt wurde, löscht sie, falls sie gefunden wird, und exportiert die Benutzerliste mit dem folgenden Befehl dorthin:
Get-Mailbox | Select DisplayName, PrimarySmtpAddress, Alias | Export-Csv $usersListPath
- Anschließend wird der Ordner für die Postfächer erstellt (der alte wird entfernt, falls vorhanden) und der Export der Benutzerpostfächer beginnt. Dies dauert je nach Anzahl der Benutzer, ihrer Postfächer und der in ihren E-Mail-Nachrichten enthaltenen Daten einige Zeit. Die Postfächer und Nachrichten werden im Format PST im Ordner
\PST\
(für die anderen Computer im Netzwerk sieht er als\\ServerName\Temp\PST\
aus) des zuvor mit dem Befehl-dir
festgelegten Verzeichnisses gespeichert. - Abschließend wird die Freigabe aus dem Ordner entfernt und das Skript beendet seine Arbeit.
Während der Skriptausführung können Fehler auftreten. Nachfolgend finden Sie die häufigsten Fehler und Lösungsvorschläge.
Fehler #1
The name must be unique per mailbox. There isn't a default name available for a new request owned by mailbox 'mailbox.local/folder/user'. Please clean up existing requests by using the Remove cmdlet or specify a unique name. + CategoryInfo : InvalidArgument: (mailbox.local/folder/user:MailboxOrMailUserIdParameter)[New-MailboxExportRequest], NoAvailableDefaultNamePermanentException + FullyQualifiedErrorId : [Server=ServerName,RequestId=4a67e451-556c-4ba0-9ab9-9d2ce8a120ff,TimeStamp=11/7/2017 9:46:58 AM] [FailureCategory=Cmdlet-NoAvailableDefaultNamePermanentException] 7B0B3FF9, Microsoft.Exchange.Management.Migration.MailboxReplication.MailboxExportRequest.NewMailboxExportRequest + PSComputerName : servername.mailbox.localLösung
Führen Sie den folgenden Befehl aus:
Get-MailboxExportRequest | Remove-MailboxExportRequest
Fehler #2
New-MailboxExportRequest : The term 'New-MailboxExportRequest' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again. At line:1 char:39 + ... oreach ($Mailbox in (Get-Mailbox)) { New-MailboxExportRequest -Mailbo ... + ~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : ObjectNotFound: (New-MailboxExportRequest:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundExceptionLösung
Starten Sie die EWS-Konsole neu und stellen Sie sicher, dass Sie sie mit Administratorrechten ausführen.
Fehler #3
\\ServerName\Temp\PST\user.pst The server or share name specified in the path may be invalid, or the file could be locked. + CategoryInfo : NotSpecified: (:) [New-MailboxExportRequest], RemotePermanentException + FullyQualifiedErrorId : [Server=ServerName,RequestId=40efdbf2-53bf-47e8-92b8-f8fa8a8f15db,TimeStamp=11/7/2017 9:55:48 AM] [FailureCategory=Cmdlet-RemotePermanentException] 94719DAF, Microsoft.Exchange.Management.Migration.MailboxReplication.MailboxExportRequest.NewMailboxExportRequest + PSComputerName : servername.mailbox.localLösung
Der Ordner
\\ServerName\Temp
(der für den Postfachexport verwendet und mit dem Skriptparameter-dir
festgelegt wurde) muss für Lese- und Schreibzugriff freigegeben sein. Wenn Sie ihn bereits freigegeben haben, prüfen Sie, ob er nur Schreibzugriff hat, und ändern Sie den Zugriff entsprechend.
Die MS Exchange-Daten in ONLYOFFICE importieren
ONLYOFFICE Workspace Enterprise Edition installieren und E-Mail-Server konfigurieren
Installieren Sie die Docker-Version von ONLYOFFICE Workspace Enterprise Edition. Dies können Sie tun, indem Sie ONLYOFFICE Workspace Enterprise Edition mithilfe des Skripts installieren und die Docker-Installationsvariante auswählen. Richten Sie anschließend den E-Mail-Server wie hier beschrieben ein.
users.csv
(die Sie im obigen Schritt erhalten haben) bearbeiten und alle Einträge für die alte MS Exchange-Domäne durch die neue ersetzen. Dies geschieht mit dem folgenden Befehl:
sed -i 's/exchange-domain.com/new-domain.com/g' users.csv
Dabei ist exchange-domain.com
der alte Domänenname, der mit MS Exchange verwendet wurde, und new-domain.com
der neue Domänenname, den Sie jetzt verwenden werden.
Skript herunterladen und Abhängigkeiten installieren/aktualisieren
Nun müssen Sie das Skript herunterladen und entpacken, das den Datenimportprozess durchführt. Dies kann mit dem folgenden Befehl erfolgen:
wget -O "ImportExchangeData.tar" "https://help.onlyoffice.co/products/files/httphandlers/filehandler.ashx?action=view&fileid=5549294&version=0&doc=TWVPQks1aUo2MEprc0tkbUF6K2Y4Um1OSi9tTkd6V0lyTHFocG0xZHE0QT0_IjU1NDkyOTQi0" && tar -xvf ImportExchangeData.tar && cd ./Import
Der Befehl lädt die Datei herunter und entpackt sie, wobei die folgende Ordnerstruktur erstellt wird:
Import|-lib
|---create_users.py
|---mbox2imap.py
|---mapping.json
|---pst2mbox.sh
|---get-mailboxes.sh
|---install-passfinder.sh
|---ASC.Mail.PasswordFinder.tar
|-ImportExchangeData.py
|-requirements.txt
Sie benötigen Python v2.7. Sie ist bei verschiedenen Linux-Distributionen oft standardmäßig installiert. Falls sie jedoch fehlt, müssen Sie sie selbst installieren. So funktioniert sie bei Debian-basierten Distributionen:
# apt install python# python -VPython 2.7.12
Installieren Sie den pip (Paketmanager), der auch für die korrekte Funktion des Skripts erforderlich ist:
# apt install python-pip# pip -V
pip 9.0.1 from /usr/local/lib/python2.7/dist-packages (python 2.7)
Und installieren Sie die anderen erforderlichen Pakete:
pip install -r requirements.txt
Ausführen des Skripts
Jetzt können Sie das Skript unter Angabe der erforderlichen Parameter ausführen:
./ImportExchangeData.py -d "<portal domain>" -u "<portal administrator email>" -pw "<portal administrator password>" -f <path to the folder with the exported data>
-s "https"
verwenden.Ersetzen Sie die Parameter in Klammern durch Ihre eigenen Portaldaten und führen Sie das Skript aus:
./ImportExchangeData.py -d myportal.com -u "my.email.address@gmail.com" -pw "123456" -f /root/Temp/
Warten Sie, bis das Skript fertig ist. Je nach Anzahl der Benutzer und Datenmenge kann dies einige Zeit dauern.
Ergebnisse der Skriptarbeit
Wenn das Skript alles tut, wofür es gedacht ist, sind die Ergebnisse die folgenden:
- Die neuen Portalbenutzer mit den E-Mail-Adressen aus der Datei
users.csv
werden erstellt. - Die Postfächer auf dem ONLYOFFICE-E-Mail-Server werden erstellt, die die E-Mail-Nachrichten von MS Exchange enthalten und im ONLYOFFICE-Modul E-Mail für die in der Datei
users.csv
aufgeführten Benutzer verbunden werden. - Die Datei
results-ok.txt
wird im OrdnerImport
gespeichert. Sie enthält die Liste aller Benutzerkonten aus der Dateiusers.csv
und deren Passwörter, die erfolgreich erstellt wurden. - Die Datei
result-err.txt
wird im OrdnerImport
gespeichert. Sie enthält die Liste aller Benutzerkonten aus der Dateiusers.csv
, bei denen beim Importieren und Erstellen Probleme aufgetreten sind. - Die Datei
mailboxes.json
imJSON
-Format wird im OrdnerImport
gespeichert. Sie enthält die Liste der Einstellungen, die für die Verbindung mit den neu erstellten Postfächern von den E-Mail-Clients von Drittanbietern erforderlich sind.
ImportExchangeData.py
und führen Sie den folgenden Befehl aus:
bash ./lib/get-mailboxes.sh -j
Die Datei mailboxes.json
wird mit den neuen Postfachdaten überschrieben.
- Beim Ausführen legt das Skript die wichtigsten Arbeitsdateien und -ordner fest: sowohl für die für die Ausgabedateien erforderlichen Dateien und Ordner als auch für den Ordner mit den Eingabedaten (die aus MS Exchange exportiert wurden).
- Im nächsten Schritt erstellt das Skript die Benutzer und anschließend deren Postfächer.
- Anschließend konvertiert das Skript die exportierten Dateien in das
mbox
-Format. - Anschließend installiert das Skript das Programm
ASC.Mail.PasswordFinder
, das bei der Erstellung der Dateimailboxes.json
hilft, die die Liste der Einstellungen enthält, die für die Verbindung mit den neu erstellten Postfächern von den E-Mail-Clients von Drittanbietern erforderlich sind. - Danach wird die
mailboxes.json
selbst erstellt. - Und schließlich werden die Dateien im
mbox
-Format über IMAP in die Postfächer importiert.