Infra - Exchange Server

Movendo mailboxes entre florestas usando o Prepare-MoveRequest.ps1

O Exchange Server 2010 proporciona a movimentação de mailboxes entre florestas de forma fácil e simples, neste tutorial vamos abordar esta movimentação usando uma das formas mais simples possíveis: utilizando um script de domínio público (prepare-moverequest.ps1) e a própria console do produto.

por Anderson Patricio



Autor: Anderson Patricio / Rodrigo Rodrigues

Overview

O Exchange Server 2010 proporciona a movimentação de mailboxes entre florestas de forma fácil e simples, neste tutorial vamos abordar esta movimentação usando uma das formas mais simples possíveis: utilizando um script de domínio público (prepare-moverequest.ps1) e a própria console do produto. Existem outras formas, e vamos estar demonstrando as mesmas aqui no AndersonPatricio.org, mas esta primeira é para mostrar como você pode estar utilizando o produto para movimentar dependendo do seu ambiente e cenário de migração.

Vale lembar que todas decisões relacionados a processo de migração devem ser feitas na fase de planejamento e é muito interessante você analisar e o mais importante testar dezenas de vezes para saber se o método desejado é adequado ao seu ambiente. Este tutorial serve como base para mostrar uma possível forma de fazer a migração mas você pode usar o mesmo só como base para o seu procedimento interno ou ainda segui-lo a risca. Longa estória curta: cada caso é um caso não tome este tutorial como verdade absoluta sem testá-lo no seu ambiente primeiro.

Alguns pontos importantes sobre este tutorial e a funcionalidade:

  • Neste tutorial apesar de termos uma organização 2003 na origem, nós instalamos um Exchange Server 2010 para permitir a migração via interface gráfica
  • Sem um Exchange Server 2010 o processo de movimentação é todo através de linha de comando
  • Não estamos nada de sincroniza, simplesmente o script disponível pela Microsoft
  • Existem formas mais "elegantes" de se fazer, tais como ADMT e FIM (ForeFront Identity Manager) que serão abordados posteriormente aqui no AndersonPatricio.org
  • Antes de rodar o Move-Request é necessário que exista um mail enabled user na floresta de destino (por isso que o prepare-moverequest.ps1 se torna tão importante)
  • Se a floresta de origem tiver pelo menos um CAS rodando o Exchange Server 2010 (mesmo que a floresta seja toda de 2003 servers) a mesma é considerada uma floresta Exchange Server 2010 e já possui alguns recursos para fazer a migração
  • Exchange Server 2010 não suporta mover uma caixa que resida no Exchange Server 2000
  • Exchange Management Console somente pode ser utilizado se existir Exchange Server 2010 em ambas as florestas (pode ser apenas um CAS, como dito anteriormente na floresta de origem)

Solução

Neste tutorial vamos acompanhar todo o processo de mover caixas entre organizações Exchange utilizando somente ferramentas nativas, basicamente estaremos utilizando um script chamado Prepare-MoveRequest.ps1 para criar os atributos necessários no destino e depois vamos fazer a movimentação dos dados entre as florestas.

Entendendo o cenário...

Neste tutorial vamos utilizar o seguinte cenário, onde o domínio andy.local vai ser o destino e na origem (patricio.local) tem as caixas que estaremos migrando para o o andy.local. Vamos estar movendo um usuário chamado User002 do patricio.local (origem) para o andy.local (destino).

Os usuários que estaremos migrando está listado no Exchange Management Console do Patricio.local, como segue:

Adicionando a floresta origem na Console da floreta d

Primeira parte é logar no domínio destino andy.local e adicionar o domínio source na console utilizando a nova funcionalidade de adicionar florestas. Vamos utilizar esta nova funcionalidade para fazer o Move Request na sequência deste artigo.

Utilizando o Prepare-MoveRequest.ps1

O Prepare-MoveRequest.ps1 pode ser encontrado no site de downloads da Microsoft, para achálo facilmente procure por "Prepare for Online Move Mailbox" ou ainda clique aqui. Em nosso primeiro tutorial não vamos estar sincronizando objetos do Active Directory bem como senhas entre as florestas, basicamente só precisamos preparar o domínio destino para estar apto para receber um Move Request. Utilizando este script podemos preparar todos os atributos no destino, usando no formato que estamos utilizando aqui o script vai criar um mail enabled user no destino apontando para a caixa no domínio origem.

.\Prepare-MoveRequest.ps1 -Identity <nome-UPN-do-usuario> -RemoteForestDomainController <DC-na-floresta-origem>

O resultado vai ser similar ao mostrado abaixo onde o objeto user00216b7ce53 foi criado e habilitado como e-mail e também foi redirecionado para o original.

Depois de rodar o comando acima ele vai pedir autenticaçao, use o formato DOMINIOORIGEM\<Usuario> e a respectiva senha e clique em OK.

Se olharmos em Mail Contact vamos ver o usuário criado pelo script, como mostrado abaixo. Vamos dar um duplo clique no mesmo.

Na guia E-mail addresses podemos olhar a seção External E-mail Address que está apontando corretamente para onde o usuário está acessando a caixa que é no domínio origem. Isto significa que para mesmo os usuários não migrados aparecem na Global Address List do domínio destino com isto podemos estabelecer coexistência entre os domínios.

Nas propriedades da conta, podemos ver o nome mostrado no script ficou no pre-windows 2000 user logon name.

Para os usuários já migrados ou ainda do domínio destino, a experiência será que todos os usuários "preparados" serão vistos na Global Address List e o fluxo de mensagens entre novo domínio e não migrados pode ocorrer pacificamente.

Fazendo o Move Request...

Agora que já preparamos o domínio destino, podemos investir na migração através do Move Request. Vamos abrir o Exchange Management Console, expandir a segunda organização (lembre-se que já adicionamos a mesma a view atual) e vamos expandir Recipient Configuration e vamos clicar em Mailbox. Estando no item Mailbox vamos dar um clique com o botão direito no usuário(s) que acabamos de preparar na seção anterior e vamos clicar em New Remote Move Request.

Na página Introduction. Iremos ter a lista dos usuários selecionamos, vamos apenas clicar em Next.

Na página Move Options. Aqui temos alguma coisa interessante, como estamos trabalhando na floresta origem, a mesma já vai ficar configurado automaticamente no Source forest e no Target forest vamos escolher a floresta onde estamos, ou seja, a destino que é Microsoft Exchange On-Premise, o FQDN do Mailbox Replication Service da floresta origem (se não sabe está lembrando o que é isso dê uma olhada nos tutoriais da seção Tutoriais relacionados) e marque a opção Use the following source forest"s credential e digite as credenciais da mesma. O último ponto é qual o domínio que vai ser estampado no usuário quando o Move Request for completado, basicamente isto vai criar a redundância e continuidade da mensageria após a migração. Feito todas as decisões clique em Next.

Na página New Remote Move Request. Vamos apenar ver o que decidimos até agora, apenas clique em New.

Na página Completion. Tela final do assistente, podemos analisar o cmdlet utilizados e o resultado da operação, em nosso exemplo o cmdlet foi executado com sucesso.

Agora já podemos ir até a organização destino e podemos ver a caixa do User002 com um símbolo diferente (tal símbolo significa que a caixa tem um move request listado), mas a mesma já se encontra na organização.

A nova arquitetura do Exchange para mover mailboxes consiste em uma criação de um novo pedido e depois acompanhamento através do item Move Request depois de movida a caixa podemos clicar em Clear Move Request, como mostrado na figura abaixo. Fazendo isto uma janela irá aparecer perguntando se temos certeza da remoção do request, devemos clicar em Yes.

Já na origem agora não temos mais uma caixa user002 e sim um usuário do tipo mail enabled, como mostrado na figura abaixo (esta tela é do domínio patricio.local, também conhecido como origem)

Nas propriedades podemos ver que o e-mail user002@any.local foi estampado e está redirecionando para lá, o que significa que usuários não migrados irão se comunicar normalmente com o e-mail mesmo ele estando em outra organização.

Conclusão

Com este tutorial mostramos como usar o Prepare-MoveRequest.ps1 e o próprio Move Request para mover caixas entre organizações exchange diferentes. Neste tutorial como mencionamos no início não estamos usando nenhuma ferramenta para sincronizar objetos, nosso objetivo é pura e simplesmente a cópia dos dados entre florestas e permitir uma coexistência básica entre eles.

Anderson Patricio

Anderson Patricio - Trabalha com informática desde 1995, é consultor Microsoft em projetos de Active Directory, Exchange e ISA pela Quattuor Informática em Porto Alegre.
Certificações: MCSE +M +S 2003, MCSE +M +S 2000, MCSA +M +S 2003, MCSA +M +S 2000
Blog: http://spaces.msn.com/members/andersonpatricio/