本文由AI翻译

将 MS Exchange 数据迁移到 ONLYOFFICE

简介

本文将展示如何将数据从 MS Exchange 转移到 ONLYOFFICE。目前支持以下数据类型的转移:

  • 用户,
  • 邮箱,
  • 邮件信息。

在接下来的版本中,我们计划增加对以下数据的支持:

  • 日历,
  • 联系人,
  • 任务。
本指南已在 MS Exchange 2016 上测试。

从 MS Exchange 导出数据

启动必要的服务

首先,您需要确保 Microsoft Exchange Mailbox Replication(或 MSExchangeMailboxReplication)服务已启动。在 cmd 控制台中运行以下命令:

Get-Service -name MSExchangeMailboxReplication

如果所需的服务正在运行,命令结果将如下所示:

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

或者,您可以进入 Windows 控制面板 - 管理工具 - 服务,找到 Microsoft Exchange Mailbox Replication 并启动它。

分配权限

为将要从 MS Exchange 导出邮箱的用户分配管理权限:

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

其中 <user name> 是将要导出数据的用户名。如果您打算自己进行操作,则将此角色分配给您的帐户。

New-ManagementRoleAssignment Role "Mailbox Import Export" User John

之后,以管理员权限重新启动 Exchange Web Services (EWS) 控制台。这可以通过在开始菜单中右键单击 EWS 图标并选择 以管理员身份运行 选项来完成。

运行脚本

现在下载将执行从 MS Exchange 正确导出数据所需操作的脚本。脚本可在这里下载。下载后,在 EWS 控制台中运行它:

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

其中 .\ExportExchangeData.ps1 是脚本的路径,-dir "C:\Temp" 是用于导出文件的文件夹路径。

请注意,在脚本运行期间,-dir 参数中设置的文件夹将对所有人共享。这对于 New-MailboxExportRequest 命令的正确工作是必要的。脚本完成工作后,共享将从文件夹中移除。

然后需要将包含导出文件的文件夹传输到安装有 ONLYOFFICE 的计算机上。

如果您需要确保创建的 PST 文件中包含正确的数据,可以使用免费的 pst-viewer 工具来检查。
显示 ExportExchangeData.ps1 脚本的功能
显示 ExportExchangeData.ps1 脚本工作期间可能出现的错误

将 MS Exchange 数据导入到 ONLYOFFICE

安装 ONLYOFFICE Workspace 企业版并配置邮件服务器

安装 ONLYOFFICE Workspace 企业版 的 Docker 版本。这可以通过安装 ONLYOFFICE Workspace 企业版 使用脚本 并选择 Docker 安装选项来完成。之后,根据此处的说明设置邮件服务器。

连接域时,您需要设置与 MS Exchange 电子邮件通信中使用的域相同的域(用户电子邮件地址中的域)。如果需要更改域名,则需要额外编辑 users.csv 文件(在上一步中获得),将所有旧 MS Exchange 域的条目替换为新的。这可以通过以下命令完成:
sed -i 's/exchange-domain.com/new-domain.com/g' users.csv
其中 exchange-domain.com 是与 MS Exchange 使用的旧域名,new-domain.com 是您现在要使用的新域名。
下载脚本并安装/更新依赖项

现在您需要下载并解压缩将执行数据导入过程的脚本。这可以使用以下命令完成:

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

该命令将下载并解压文件,创建以下文件夹结构:

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。它通常默认安装在各种 Linux 发行版中,但如果缺失,您需要自行安装。这是 Debian 系列发行版的安装方法:

# apt install python# python -VPython 2.7.12

安装 pip(包管理器),这也是脚本正常工作的必要条件:

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

并安装其他所需的包:

pip install -r requirements.txt
运行脚本

现在您可以运行脚本,指定必要的参数:

./ImportExchangeData.py -d "<portal domain>" -u "<portal administrator email>" -pw "<portal administrator password>" -f <path to the folder with the exported data>
如果您的门户使用 HTTPS 连接,则在运行代码时需要额外使用 -s "https" 参数。

用您自己的门户数据替换括号中的参数并运行脚本:

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

等待脚本完成工作。根据用户数量及其数据量,可能需要一些时间。

脚本工作结果

当脚本完成其预期工作时,结果将如下:

  • 将根据 users.csv 文件中的电子邮件地址创建新的门户用户;
  • 将在 ONLYOFFICE 邮件服务器上创建邮箱,其中将包含来自 MS Exchange 的邮件,并将在 ONLYOFFICE 邮件 模块中为 users.csv 文件中列出的用户连接;
  • results-ok.txt 文件将保存到 Import 文件夹中,其中包含从 users.csv 文件中成功创建的所有用户帐户及其密码的列表;
  • result-err.txt 文件将保存到 Import 文件夹中,其中包含从 users.csv 文件中导入和创建时出现问题的所有用户帐户的列表;
  • mailboxes.json 文件将以 JSON 格式保存到 Import 文件夹中,其中包含从第三方邮件客户端连接到新创建邮箱所需的设置列表。
如果您在导入后创建了一些邮箱,您也可以获取将它们连接到第三方邮件客户端程序所需的设置。进入 ImportExchangeData.py 文件夹并运行命令:
bash ./lib/get-mailboxes.sh -j
mailboxes.json 文件将被新邮箱数据覆盖。
显示 ImportExchangeData.py 脚本的功能

在您自己的服务器上托管 ONLYOFFICE 工作区

文章: 标签:
浏览所有标签