Migrer les données MS Exchange vers ONLYOFFICE

Introduction

Cet article explique comment transférer des données de MS Exchange vers ONLYOFFICE. Actuellement, les types de données suivants peuvent être transférés :

  • utilisateurs,
  • boîtes mail,
  • messages électroniques.

Dans les prochaines versions, nous prévoyons de prendre en charge les données suivantes :

  • calendriers,
  • contacts,
  • tâches.
Ce guide a été testé avec MS Exchange 2016.

Exporter les données depuis MS Exchange

Lancer le service nécessaire

Vérifiez d'abord que le service Microsoft Exchange Mailbox Replication (MSExchangeMailboxReplication) est en cours d'exécution. Exécutez la commande suivante dans la console cmd :

Get-Service -name MSExchangeMailboxReplication

Si le service requis est en cours d'exécution, la commande renvoie un résultat de ce type :

Status   Name               DisplayName
------   ----               -----------
Running  MSExchangeMailb... Microsoft Exchange Mailbox Replication

Vous pouvez également, sous Windows, ouvrir Control Panel > Administrative Tools > Services (Panneau de configuration > Outils d'administration > Services), rechercher le service Microsoft Exchange Mailbox Replication et le lancer.

Attribuer les droits

Attribuez les droits d'administrateur à l'utilisateur qui exportera les boîtes mail depuis MS Exchange :

New-ManagementRoleAssignment Role "Mailbox Import Export" User <user name>

<user name> désigne le nom de l'utilisateur qui exportera les données. Si vous réalisez l'exportation vous-même, attribuez ce rôle à votre propre compte.

New-ManagementRoleAssignment Role "Mailbox Import Export" User John

Ensuite, redémarrez la console Exchange Web Services (EWS) avec les droits d'administrateur. Pour ce faire, faites un clic droit sur l'icône EWS dans le menu Start (Démarrer) et sélectionnez l'option Run as administrator (Exécuter en tant qu'administrateur).

Exécuter le script

Téléchargez maintenant le script qui effectuera tout le nécessaire pour exporter correctement les données depuis MS Exchange. Le script est disponible via ce lien. Une fois le téléchargement terminé, exécutez le script dans la console EWS :

.\ExportExchangeData.ps1 -dir "C:\Temp"

.\ExportExchangeData.ps1 désigne le chemin d'accès au script et -dir "C:\Temp" le chemin d'accès au dossier qui servira à exporter les fichiers.

Notez que, pendant l'exécution du script, le dossier défini par le paramètre -dir est partagé avec tout le monde. Ce partage est nécessaire au bon fonctionnement de la commande New-MailboxExportRequest. Une fois le script terminé, le partage du dossier est supprimé.

Le dossier contenant les fichiers exportés doit ensuite être transféré vers l'ordinateur sur lequel ONLYOFFICE est installé.

Si vous devez vous assurer que les fichiers PST créés contiennent les bonnes données, vous pouvez utiliser l'outil gratuit pst-viewer.
Afficher ce que fait le script ExportExchangeData.ps1
Afficher les erreurs qui peuvent se produire pendant l'exécution du script ExportExchangeData.ps1

Importer les données MS Exchange dans ONLYOFFICE

Installer ONLYOFFICE Workspace Édition Entreprise et configurer le serveur de messagerie

Installez la version Docker de ONLYOFFICE Workspace Édition Entreprise. Pour ce faire, installez ONLYOFFICE Workspace Édition Entreprise à l'aide du script et sélectionnez l'option d'installation sous Docker. Configurez ensuite le serveur de messagerie comme décrit dans cet article.

Lors de la connexion du domaine, vous devez indiquer le même domaine que celui utilisé pour la messagerie avec MS Exchange, c'est-à-dire le domaine des adresses email des utilisateurs. Si vous devez changer le nom de domaine, il vous faut également modifier le fichier users.csv obtenu à l'étape précédente, en y remplaçant toutes les occurrences de l'ancien domaine MS Exchange par le nouveau. Utilisez pour cela la commande suivante :
sed -i 's/exchange-domain.com/new-domain.com/g' users.csv
exchange-domain.com désigne l'ancien nom de domaine utilisé avec MS Exchange et new-domain.com le nouveau nom de domaine que vous allez utiliser.
Télécharger le script et installer ou mettre à jour les dépendances

Vous devez maintenant télécharger et décompresser le script qui réalisera l'importation des données. Utilisez pour cela la commande suivante :

wget -O "ImportExchangeData.tar" "https://help.onlyoffice.com/products/files/httphandlers/filehandler.ashx?action=view&fileid=5549294&version=0&doc=TWVPQks1aUo2MEprc0tkbUF6K2Y4Um1OSi9tTkd6V0lyTHFocG0xZHE0QT0_IjU1NDkyOTQi0" && tar -xvf ImportExchangeData.tar && cd ./Import

Cette commande télécharge et décompresse le fichier, en créant l'arborescence de dossiers suivante :

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

Python v2.7 doit être installé. Il l'est souvent par défaut sur diverses distributions Linux, mais s'il est absent, vous devrez l'installer vous-même. Voici comment procéder sur les distributions basées sur Debian :

# apt install python
# python -V
Python 2.7.12

Installez le gestionnaire de paquets pip, lui aussi nécessaire au bon fonctionnement du script :

# apt install python-pip
# pip -V
pip 9.0.1 from /usr/local/lib/python2.7/dist-packages (python 2.7)

Installez enfin les autres paquets requis :

pip install -r requirements.txt
Exécuter le script

Vous pouvez maintenant exécuter le script en indiquant les paramètres nécessaires :

./ImportExchangeData.py -d "<portal domain>" -u "<portal administrator email>" -pw "<portal administrator password>" -f <path to the folder with the exported data>
Si votre portail utilise le protocole HTTPS, vous devrez en outre ajouter le paramètre -s "https" lors de l'exécution du code.

Remplacez les paramètres entre crochets par les données de votre propre portail, puis exécutez le script :

./ImportExchangeData.py -d myportal.com -u "my.email.address@gmail.com" -pw "123456" -f /root/Temp/

Attendez la fin de l'exécution du script. Celle-ci peut prendre un certain temps, selon le nombre d'utilisateurs et le volume de leurs données.

Résultats de l'exécution du script

Une fois le script terminé, les résultats sont les suivants :

  • les nouveaux utilisateurs du portail sont créés avec les adresses email issues du fichier users.csv ;
  • les boîtes mail sont créées sur ONLYOFFICE Mail Server ; elles contiennent les messages provenant de MS Exchange et sont connectées dans le module Mail d'ONLYOFFICE pour les utilisateurs répertoriés dans le fichier users.csv ;
  • le fichier results-ok.txt est enregistré dans le dossier Import ; il contient la liste de tous les comptes d'utilisateurs du fichier users.csv qui ont été créés avec succès, ainsi que leurs mots de passe ;
  • le fichier result-err.txt est enregistré dans le dossier Import ; il contient la liste de tous les comptes d'utilisateurs du fichier users.csv qui ont posé problème lors de l'importation et de la création ;
  • le fichier mailboxes.json, au format JSON, est enregistré dans le dossier Import ; il contient la liste des paramètres nécessaires pour se connecter aux boîtes mail nouvellement créées depuis des clients de messagerie tiers.
Si vous créez des boîtes mail après l'importation, vous pouvez également obtenir les paramètres nécessaires pour les connecter à des clients de messagerie tiers. Accédez au dossier ImportExchangeData.py et exécutez la commande suivante :
bash ./lib/get-mailboxes.sh -j
Le fichier mailboxes.json est alors écrasé et remplacé par les données des nouvelles boîtes mail.
Afficher ce que fait le script ImportExchangeData.py
Articles avec le tag :
Parcourir tous les tags