Este artigo foi traduzido por IA

Migrando dados do MS Exchange para o ONLYOFFICE

Introdução

Este artigo mostrará como você pode transferir os dados do MS Exchange para o ONLYOFFICE. Atualmente, os seguintes tipos de dados são suportados para transferência:

  • usuários,
  • caixas de correio,
  • mensagens de e-mail.

Nas próximas versões, planejamos adicionar suporte para os seguintes dados:

  • calendários,
  • contatos,
  • tarefas.
Este guia foi testado com o MS Exchange 2016.

Exportar dados do MS Exchange

Executando o serviço necessário

Primeiramente, você precisa garantir que o serviço Microsoft Exchange Mailbox Replication (ou MSExchangeMailboxReplication) esteja em execução. Execute o seguinte comando no console cmd:

Get-Service -name MSExchangeMailboxReplication

Se o serviço necessário estiver em execução, o resultado do comando será assim:

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

Ou você pode ir ao Painel de Controle do Windows - Ferramentas Administrativas - Serviços, encontrar o Microsoft Exchange Mailbox Replication e executá-lo.

Atribuindo os direitos

Atribua os direitos administrativos ao usuário que fará a exportação das caixas de correio do MS Exchange:

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

Onde <user name> é o nome do usuário que fará a exportação dos dados. Se você mesmo for fazer isso, atribua este papel à sua conta.

New-ManagementRoleAssignment Role "Mailbox Import Export" User John

Depois disso, reinicie o console do Exchange Web Services (EWS) com direitos de administrador. Isso é feito clicando no ícone do EWS no menu iniciar com o botão direito do mouse e selecionando a opção Executar como administrador.

Executando o script

Agora baixe o script que fará tudo o que você precisa para a exportação correta dos dados do MS Exchange. O script está disponível aqui. Uma vez baixado, execute-o no console EWS:

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

Onde .\ExportExchangeData.ps1 é o caminho para o script, e -dir "C:\Temp" é o caminho para a pasta que será usada para exportar os arquivos.

Observe que durante a execução do script, a pasta definida no parâmetro -dir será compartilhada para todos. Isso é necessário para o funcionamento correto do comando New-MailboxExportRequest. Após a conclusão do script, o compartilhamento será removido da pasta.

A pasta com os arquivos exportados precisa então ser transferida para o computador com o ONLYOFFICE instalado.

Se você precisar garantir que os arquivos PST criados tenham os dados corretos, pode usar a ferramenta gratuita pst-viewer para isso.
Mostrar o que o script ExportExchangeData.ps1 faz
Mostrar os erros que podem ocorrer durante a execução do script ExportExchangeData.ps1

Importar os dados do MS Exchange para o ONLYOFFICE

Instalando ONLYOFFICE Workspace Enterprise Edition e configurando o servidor de e-mail

Instale a versão Docker do ONLYOFFICE Workspace Enterprise Edition. Isso pode ser feito instalando o ONLYOFFICE Workspace Enterprise Edition usando o script e selecionando a variante de instalação Docker. Após isso, configure o servidor de e-mail conforme descrito aqui.

Ao conectar o domínio, você precisará definir o mesmo domínio que foi usado para a troca de mensagens de e-mail com o MS Exchange (o domínio dos endereços de e-mail dos usuários). Se precisar alterar o nome do domínio, será necessário editar adicionalmente o arquivo users.csv (que foi obtido na etapa anterior), substituindo todas as entradas do antigo domínio do MS Exchange pelo novo. Isso é feito com o seguinte comando:
sed -i 's/exchange-domain.com/new-domain.com/g' users.csv
Onde exchange-domain.com é o antigo nome de domínio usado com o MS Exchange, e new-domain.com é o novo que você está prestes a usar.
Baixando o script e instalando/atualizando dependências

Agora você precisa baixar e descompactar o script que realizará o processo de importação de dados. Isso pode ser feito usando o comando:

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

O comando irá baixar e descompactar o arquivo, criando a seguinte estrutura de pastas:

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

Você precisará ter o Python v2.7 instalado. Ele geralmente vem instalado por padrão em várias distribuições Linux, mas caso esteja ausente, você precisará instalá-lo. Veja como fazer isso para distribuições baseadas em Debian:

# apt install python
# python -V
Python 2.7.12

Instale o pip (gerenciador de pacotes), também necessário para o funcionamento correto do script:

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

E instale os outros pacotes necessários:

pip install -r requirements.txt
Executando o script

Agora você pode executar o script especificando os parâmetros necessários:

./ImportExchangeData.py -d "<portal domain>" -u "<portal administrator email>" -pw "<portal administrator password>" -f <path to the folder with the exported data>
Se o seu portal estiver conectado usando HTTPS, você precisará usar adicionalmente o parâmetro -s "https" ao executar o código.

Substitua os parâmetros entre colchetes pelos dados do seu portal e execute o script:

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

Aguarde até que o script termine de funcionar. Pode levar algum tempo, dependendo do número de usuários e da quantidade de dados deles.

Resultados do trabalho do script

Quando o script concluir todas as suas funções, os resultados serão os seguintes:

  • os novos usuários do portal com os endereços de e-mail do arquivo users.csv serão criados;
  • as caixas de correio no Servidor de E-mail do ONLYOFFICE serão criadas, contendo as mensagens de e-mail do MS Exchange e serão conectadas no módulo Mail do ONLYOFFICE para os usuários listados no arquivo users.csv;
  • o arquivo results-ok.txt será salvo na pasta Import, contendo a lista de todas as contas de usuário do arquivo users.csv e suas senhas, que foram criadas com sucesso;
  • o arquivo result-err.txt será salvo na pasta Import, contendo a lista de todas as contas de usuário do arquivo users.csv, que tiveram problemas ao serem importadas e criadas;
  • o arquivo mailboxes.json no formato JSON será salvo na pasta Import, contendo a lista de configurações necessárias para conectar às novas caixas de correio a partir de clientes de e-mail de terceiros.
Se você criar algumas caixas de correio após a importação, também poderá obter as configurações necessárias para conectá-las a programas de clientes de e-mail de terceiros. Vá para a pasta ImportExchangeData.py e execute o comando:
bash ./lib/get-mailboxes.sh -j
O arquivo mailboxes.json será sobrescrito com os dados das novas caixas de correio.
Mostrar o que o script ImportExchangeData.py faz
Artigo com o tag:
Veja todas as etiquetas