Como – Migração de Office 365 para Office 365 (passo a passo)

Como realizar – Migração do Office 365 para o Office 365 (Passo a Passo). Mover de um ambiente do Office 365 para outro exige planejamento cuidadoso e execução para garantir uma transição perfeita sem comprometer a integridade dos dados. Este guia abrangente detalha o processo passo a passo para a migração de caixa de correio entre inquilinos do Office 365, enfatizando as etapas essenciais. Ao seguir essas etapas detalhadas, as organizações simplificam sua jornada de migração e minimizam possíveis interrupções em suas operações diárias. Neste guia, descrevemos o processo de migração usando a ferramenta interna de Migração de Dados de Usuário entre Inquilinos. Além das outras ferramentas, ela tem seus prós (não requer a compra de ferramentas de terceiros) e contras (não suporta a migração de pastas públicas, requer algumas habilidades de script PowerShell) e funciona tanto para pequenas quanto para grandes empresas.

Vamos começar nosso artigo Como realizar – Migração do Office 365 para o Office 365.

Como realizar – Migração do Office 365 para o Office 365

1. Avaliação Pré-Migração do Office 365 para o Office 365

Primeiro, certifique-se de coletar as seguintes informações:

  1. Uso de retenção legal. Caixas de correio e contas OneDrive com uma política de Retenção aplicada não podem ser migradas para outro inquilino.
  2. Caixas de correio arquivadas. Durante a correspondência de atributos (mostrada abaixo durante a preparação da conta), os usuários que possuem caixas de correio arquivadas devem ter ambos os atributos ExchangeGUID e ArchiveGUID correspondendo nos locatários de origem e destino.
  3. Delegações existentes de permissão Enviar em Nome. Esta permissão não é migrada e deve ser reconfigurada após a migração. Se você deseja usar um script do PowerShell para avaliar a lista de delegações, certifique-se de converter o atributo Nome Distinto (que não pode ser usado no locatário de destino) para algum atributo que permaneça o mesmo após a migração, por exemplo, Nome de Exibição. Um exemplo do script que pode ser usado para coletar as informações está abaixo (para executá-lo, conecte-se ao módulo PowerShell do Exchange Online primeiro):
$delegatedmailboxes = get-mailbox -resultsize unlimited | ?{$_.GrantSendOnBehalfTo -ne $null} | select displayname,GrantSendOnBehalfTo

$FilePath = "C:\output\delegatee.csv" #use seu próprio caminho de arquivo, garanta que a pasta exista
Add-Content -Value ("Delegator" + "," + "Delegatee") -Path $FilePath
foreach ($delegatedmailbox in $delegatedmailboxes) {
    $delegatees = $delegatedmailbox.GrantSendOnBehalfTo
    foreach ($delegatee in $delegatees) {
        $delegateeName = get-mailbox $delegatee
        $delegatedmailbox.Displayname + "," + $delegateeName.Displayname | out-file $FilePath -append
    }
}

O script cria um arquivo CSV que contém as informações sobre todas as delegações de permissão Enviar em Nome no locatário. O arquivo pode ser usado após a migração para recriar as delegações. Observe que os arquivos CSV usam vírgula como separador, então se vírgula for usada no atributo Nome de Exibição dos usuários em sua empresa, ajuste o script conforme necessário (por exemplo, use tabulação como separador).

  1. Garanta que você tenha as permissões necessárias em ambos os locatários de origem e destino. A configuração inicial requer a função de Administrador da Organização (para a configuração do relacionamento da organização) e a capacidade de registrar aplicativos no Azure AD (para registrar o aplicativo de migração nos próximos passos). O próprio movimento não requer privilégios elevados e pode ser feito por uma conta com permissão de Mover Caixa de Correio.
  2. Garanta que você tenha as licenças necessárias em ambos os locatários de origem e destino. Você precisa de licenças do Microsoft 365 e licenças de Migração de Dados de Usuários entre Locatários para todos os usuários que serão migrados. Garanta que as licenças de Migração de Dados de Usuários entre Locatários sejam atribuídas antes da migração. No locatário de destino, certifique-se de que as licenças do Exchange Online não sejam atribuídas antes que o atributo ExchangeGUID e os endereços de proxy sejam atribuídos ao usuário, pois isso causa a falha na migração (pois uma caixa de correio com GUID diferente é atribuída à caixa de correio.
  3. Obtenha e anote o ID do locatário para ambos os locatários, conforme descrito no artigo Encontre o ID do seu locatário do Microsoft 365.Também, notifique os usuários finais sobre o impacto esperado:

A note to users

Também, notifique os usuários finais sobre o impacto esperado:

  • A caixa de correio estará em modo somente leitura por um curto período durante a migração.
  • Os usuários precisarão recriar o perfil do Outlook em dispositivos desktop e móveis após a migração.
  • As aplicações do Microsoft 365 podem precisar de reativação.
  • Se o OneDrive ou o SharePoint estavam mapeados como uma unidade de rede, será necessário remapeá-los.
  • Reuniões existentes do Teams precisarão ser recriadas.
  • Os Grupos do Microsoft 365 não serão migrados.

2. Registro da Aplicação de Migração no Microsoft Entra

Para permitir que a Microsoft mova os usuários entre dois locatários, você precisa registrar a aplicação no Microsoft Entra (para aqueles que perderam a atualização, Entra é como a Microsoft chama o Azure AD agora) do locatário de destino e conceder a permissão Mailbox.Migration . Além disso, a criação do segredo é necessária, o qual é usado para criar o ponto de extremidade de migração (o ponto de extremidade de migração é uma entidade de configuração que contém configurações e credenciais para realizar migrações externas).

  1. Vá para Microsoft Entra admin center e faça login usando uma conta que possa registrar aplicativos.
  2. Navegue até Aplicativos > Registros de aplicativos e selecione Novo registro.
  1. Na janela Registrar um aplicativo que aparecer, insira o nome (qualquer nome servirá), selecione a opção Contas em qualquer diretório organizacional (Qualquer diretório Microsoft Entra – Multilocatário) como tipos de conta suportados e especifique https://office.com como URI de redirecionamento da web, em seguida pressione Registrar.
  1. De volta à página Registros de aplicativos, selecione o aplicativo criado.
  2. Na página aberta, na guia Visão geral, encontre ID do aplicativo (cliente) e anote para uso posterior.
  1. Vá para a guia Permissão de API e pressione Adicionar uma permissão.
  1. Na janela que aparecer, vá para a guia APIs usadas pela minha organização e selecione Office 365 Exchange Online.
  1. Navegue até Permissões do aplicativo, na lista selecione Caixa de correio > Mailbox.Migration e em seguida pressione o botão Adicionar permissões.
  1. Após as permissões serem concedidas, vá para a guia Certificados e segredos (no painel de navegação da página do aplicativo) e na seção Segredos do cliente, selecione Novo segredo do cliente.
  1. Preencha ambos os campos e pressione Adicionar.
  1. Voltando à página de Certificados e segredos, você verá o novo ID de Segredo e a senha, anote ambos para uso futuro.

3. Preparação do locatário alvo do Office 365

Na próxima etapa, concedemos consentimento de administrador à aplicação registrada no locatário de destino e, em seguida, criamos o ponto de migração e o relacionamento de organização. Os relacionamentos de organização são usados no Exchange Online para fornecer às partes externas algum acesso aos recursos internos. O uso mais popular deste recurso é dar acesso de leitura às informações de Calendário para a organização parceira (para compartilhar status de disponibilidade), no entanto, também pode ser usado para outros tipos de acesso. No nosso caso, fornecemos a capacidade de mover a caixa de correio.

  1. No centro de administração do Microsoft Entra, vá para Aplicativos > Aplicativos empresariais.
  2. Na lista de aplicativos, selecione a aplicação de migração criada.
  3. A página do aplicativo aparece, vá para a guia Permissões e pressione Conceder consentimento de administrador para [o nome do seu locatário].
  1. A página de aplicativo aparece, vá para a aba Permissões e pressione Conceder consentimento de administrador para [o nome do seu locatário].
  1. Uma nova janela do navegador é aberta, aceite a concessão de permissões.
  2. Para criar o ponto de migração e o relacionamento da organização no locatário de destino, abra o PowerShell e conecte-se ao módulo Exchange Online.
  3. Em seguida, verifique se sua organização do Exchange está no estado desidratado. Se estiver, nenhuma personalização das configurações da organização é possível.
Get-OrganizationConfig | select isDehydrated
  1. Se a saída for Falso, este passo pode ser ignorado, se for Verdadeiro, execute o cmdlet Enable-OrganizationCustomization.
  2. Crie o ponto de migração:
$AppId = "[Application ID saved in step 2.5]"
$Credential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $AppId, `
(ConvertTo-SecureString -String "[secret password saved in step 2.11]" -AsPlainText -Force)
New-MigrationEndpoint -RemoteServer outlook.office.com -RemoteTenant ".onmicrosoft.com" `
-Credentials $Credential -ExchangeRemoteMove:$true -Name "MigrationEndpoint01" -ApplicationId $AppId

Onde “<SourceDomain>.onmicrosoft.com” é o domínio do qual você irá migrar os usuários

  1. Crie o relacionamento da organização (ou modifique-o, se o relacionamento já existir):
$sourceTenantId="[ID of the source tenant from step 1.6]"
$existingOrgRel = Get-OrganizationRelationship | ?{$_.DomainNames -like $sourceTenantId}
If ($null -ne $existingOrgRel) {
    Set-OrganizationRelationship $existingOrgRel.Name -Enabled:$true -MailboxMoveEnabled:$true -MailboxMoveCapability Inbound
}
Else {
    New-OrganizationRelationship "SourceTenant" -Enabled:$true -MailboxMoveEnabled:$true -MailboxMoveCapability Inbound -DomainNames $sourceTenantId
}

4. Preparação do locatário do Microsoft 365 de origem

  1. Faça login no console de administração do Microsoft Entra do locatário de origem.
  2. Acesse o URL https://login.microsoftonline.com/<TargetTenant>.onmicrosoft.com/adminconsent?client_id=[ID do Aplicativo]&redirect_uri=https://office.com, onde <TargetTenant> substitui pelo nome de domínio do locatário para o qual você deseja mover caixas de correio, e o ID do Aplicativo é o que foi salvo anteriormente.
  3. Na janela que aparecer, aceite conceder as permissões à aplicação.
  1. Conecte-se ao PowerShell do Exchange Online do locatário de origem (se você preparar ambos os locatários a partir do mesmo computador, será necessário executar Connect-ExchangeOnline novamente com um parâmetro UserPrincipalName diferente).
  2. Repita os passos 3.6 e 3.7 da seção anterior para o locatário de origem.
  3. Crie um novo grupo de segurança habilitado para email. Usado para definir os usuários que serão movidos:
$UserGroup="[name of the group]" ; New-DistributionGroup -Type Security -Name $UserGroup
  1. Crie um relacionamento de organização (ou modifique-o, se o relacionamento já existir):
$targetTenantId="[ID of the target tenant saved in step 1.6]"
$AppId="[Application ID]"
$existingOrgRel = Get-OrganizationRelationship | ?{$_.DomainNames -like $targetTenantId}
If ($null -ne $existingOrgRel) {
    Set-OrganizationRelationship $existingOrgRel.Name -Enabled:$true -MailboxMoveEnabled:$true `
    -MailboxMoveCapability RemoteOutbound -OAuthApplicationId $AppId -MailboxMovePublishedScopes $UserGroup
}
Else {
    New-OrganizationRelationship "TargetTenant" -Enabled:$true -MailboxMoveEnabled:$true -DomainNames $targetTenantId `
    -MailboxMoveCapability RemoteOutbound  -OAuthApplicationId $AppId -MailboxMovePublishedScopes $UserGroup
}
  1. Mova todos os usuários planejados para serem migrados para o grupo criado no passo 6. Lembre-se de que o uso de grupos aninhados não é recomendado.

5. Preparação das contas de usuário no locatário de destino

O movimento entre locatários de caixas de correio requer objetos MailUser pré-criados no domínio de destino. Os objetos devem ter atributos que correspondam aos atributos da caixa de correio de origem, mais detalhes podem ser encontrados aqui. Garanta que o atributo EmailAddresses esteja configurado corretamente: ele deve conter o atributo LegacyExchangeDN da caixa de correio de origem como um endereço de proxy X500. A maneira mais fácil de realizar a correspondência de atributos é usar o PowerShell.

  1. No PowerShell do locatário de origem, execute o script abaixo para exportar os atributos do usuário para um arquivo XML (neste caso, XML é melhor do que CSV, porque alguns atributos são arrays).
$UserAttributes = "C:\output\UserAttributes.xml" #use seu próprio caminho do arquivo, certifique-se de que a pasta exista
Get-DistributionGroupMember -ResultSize Unlimited $UserGroup | ForEach-Object {Get-Mailbox $_.DisplayName}| `
Select-Object PrimarySMTPAddress,Alias,SamAccountName,FirstName,LastName,DisplayName,Name,ExchangeGuid,`
ArchiveGuid,LegacyExchangeDn,EmailAddresses | Export-Clixml $UserAttributes
  1. Durante a criação de objetos MailUser, especifique as senhas. Portanto, na sessão do PowerShell do locatário de destino, prepare alguma função do PowerShell para geração de senhas. Por exemplo, a função abaixo é criada com base na função Get-RandomPassword disponível na Galeria do PowerShell.
$symbols = '!@#$%^&amp;*'.ToCharArray()
$characterList = @([char[]]([char]'a'..[char]'z'), [char[]]([char]'A'..[char]'Z'), [char[]]([char]'0'..[char]'9') + $symbols)

function Get-RandomPassword  {
    param(
        [ValidateRange(12, 256)]
        [int]
        $length = 16
    )

    do {
        $password = -join (0..$length | ForEach-Object { $characterList | Get-Random })
        [int]$hasLowerChar = $password -cmatch '[a-z]'
        [int]$hasUpperChar = $password -cmatch '[A-Z]'
        [int]$hasDigit = $password -match '[0-9]'
        [int]$hasSymbol = $password.IndexOfAny($symbols) -ne -1
    }
    until (($hasLowerChar + $hasUpperChar + $hasDigit + $hasSymbol) -ge 3)

    $password | ConvertTo-SecureString -AsPlainText -Force
}
  1. Na sessão do PowerShell do locatário de destino, execute o script a seguir para criar os objetos MailUser. Além disso, ele cria um arquivo CSV que é usado durante a criação do lote de migração.
$MailUsers = Import-Clixml $UserAttributes
$Organization = "@.onmicrosoft.com" #use o nome do locatário de destino
$CSVData = "C:\output\CSVData.csv" #use seu próprio caminho de arquivo, certifique-se de que a pasta exista
Add-Content -Value ("EmailAddress") -Path $CSVData
foreach ($MailUser in $MailUsers) {
    $SMTPAddress = $MailUser.Alias + $Organization
    $SMTPAddress  | out-file $CSVData -append
    $Password = Get-RandomPassword
    $x500 = "x500:" + $MailUser.LegacyExchangeDn
    $UserObject = New-MailUser -MicrosoftOnlineServicesID $SMTPAddress -PrimarySmtpAddress $SMTPAddress `
    -ExternalEmailAddress $MailUser.PrimarySmtpAddress -FirstName $MailUser.FirstName -LastName $MailUser.LastName `
    -Name $MailUser.Name -DisplayName $MailUser.DisplayName -Alias $MailUser.Alias -Password $Password
    $UserObject | Set-MailUser -EmailAddresses @{add = $x500 } -ExchangeGuid $MailUser.ExchangeGuid -ArchiveGuid $MailUser.ArchiveGuid
    $ProxyX500 = $MailUser.EmailAddresses | Where-Object { $_ -match "x500" }
    $ProxyX500 | ForEach-Object { Set-MailUser $MailUser.Alias -EmailAddresses @{add = "$_" } }
}
  1. Ao garantir que os objetos apropriados sejam criados no locatário de destino, atribua licenças do Exchange Online aos usuários.
  2. Para validar a configuração, na sessão do PowerShell do locatário de origem, execute:
Test-MigrationServerAvailability -EndPoint "MigrationEndpoint01" -TestMailbox "[primary SMTP address of the target user mailbox]"

6. Movimentação de contas de usuário e finalização da migração

Durante as migrações entre locatários do Office 365 para o Office 365, as caixas de correio são movidas usando lotes de migração. Os lotes de migração são as solicitações para alterar a localização das caixas de correio listadas. O lote é criado usando o Centro de Administração do Exchange Online ou usando o cmdlet do PowerShell New-MigrationBatch .

  1. Crie o lote de migração a partir da sessão do PowerShell do locatário de origem. Certifique-se de que o caminho para o arquivo CSV criado anteriormente está correto.
New-MigrationBatch -Name Batch01 -SourceEndpoint "MigrationEndpoint01" -CSVData ([System.IO.File]::ReadAllBytes("C:\output\CSVData.csv"))`
-Autostart -TargetDeliveryDomain .onmicrosoft.com

Observe que a Microsoft não recomenda o uso de lotes com mais de 2000 usuários. Se você tiver um grande número de caixas de correio a serem movidas, crie vários lotes.

  1. Monitore o progresso do movimento do lote tanto no PowerShell (usando o cmdlet Get-MigrationStatistics) quanto no centro de administração do Exchange Online (faça login em https://admin.exchange.microsoft.com/ e vá para Início> Lotes de Migração), procure por erros e avisos.
  2. Depois, use o arquivo com informações de delegação criado anteriormente para reconfigurar as permissões de Enviar em Nome de. Para fazer isso, execute o seguinte na sessão do PowerShell do locatário de destino:
$delegateelist = Import-Csv "C:\output\delegatee.csv"
foreach ($mailbox in $delegateelist ) {
    Set-Mailbox $mailbox.Delegator -GrantSendOnBehalfTo $mailbox.delegatee)
}

Após a conclusão de todas as etapas, sinta-se à vontade para remover o endpoint de migração criado e o relacionamento da organização.

Como – Conclusão da Migração do Office 365 para o Office 365

A migração bem-sucedida de caixas de correio entre ambientes do Office 365 requer uma avaliação minuciosa e execução precisa de várias etapas. Este guia forneceu um roadmap abrangente para profissionais de TI navegarem por considerações críticas, permissões e configuração de migração. Ao seguir essas etapas, as organizações conduzem um processo de migração de caixas de correio suave e eficiente, garantindo um tempo de inatividade mínimo e preservando a integridade dos dados.

Source:
https://infrasos.com/how-to-office-365-to-office-365-migration/