Cómo realizar la migración de Office 365 a Office 365 (paso a paso)

Cómo realizar una migración de Office 365 a Office 365 (paso a paso). Moverse de un entorno de Office 365 a otro exige una planificación y ejecución cuidadosas para asegurar una transición sin problemas sin comprometer la integridad de los datos. Esta guía completa describe el proceso paso a paso para una migración de buzones de correo entre inquilinos de Office 365, enfatizando las etapas esenciales. Al seguir estos pasos detallados, las organizaciones agilizan su viaje de migración y minimizan las posibles interrupciones en sus operaciones diarias. En esta guía describimos el proceso de migración utilizando la herramienta integrada de migración de datos de usuario entre inquilinos. Así como otras herramientas, tiene sus pros (no requiere la compra de herramientas de terceros) y contras (no admite la migración de carpetas públicas, requiere algunas habilidades de scripting en PowerShell), y funciona tanto para pequeñas como grandes empresas.

Comencemos nuestro artículo Cómo realizar una migración de Office 365 a Office 365.

Cómo – Migración de Office 365 a Office 365

1. Evaluación previa a la migración de Office 365 a Office 365

En primer lugar, asegúrese de recopilar la siguiente información:

  1. Uso de retención legal. Los buzones de correo y las cuentas de OneDrive con una política de retención aplicada no pueden migrarse a otro inquilino.
  2. Archivar buzones habilitados. Durante la coincidencia de atributos (mostrada a continuación durante la preparación de la cuenta), los usuarios que tengan buzones archivados deben tener ambos atributos ExchangeGUID y ArchiveGUID coincidentes en los inquilinos de origen y destino.
  3. Delegaciones existentes del permiso Enviar en nombre de. Este permiso no se migra y debe reconfigurarse después de la migración. Si desea utilizar un script de PowerShell para evaluar la lista de delegaciones, asegúrese de convertir el atributo Distinguished Name (que no se puede usar en el inquilino de destino) en algún atributo que permanezca igual después de la migración, por ejemplo, DisplayName. Un ejemplo del script que se puede utilizar para recopilar la información se muestra a continuación (para ejecutarlo, conéctese al módulo de PowerShell de Exchange Online primero):
$delegatedmailboxes = get-mailbox -resultsize unlimited | ?{$_.GrantSendOnBehalfTo -ne $null} | select displayname,GrantSendOnBehalfTo

$FilePath = "C:\output\delegatee.csv" #use su propio camino de archivo, asegúrese de que la carpeta 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
    }
}

El script crea un archivo CSV que contiene la información sobre todas las delegaciones del permiso Enviar en nombre de en el inquilino. El archivo se puede utilizar después de la migración para recrear las delegaciones. Tenga en cuenta que los archivos CSV utilizan la coma como separador, por lo que si se utiliza la coma en el atributo DisplayName de los usuarios en su empresa, ajuste el script en consecuencia (por ejemplo, utilice la tabulación como separador).

  1. Asegúrate de tener los permisos necesarios en ambos inquilinos, tanto en el de origen como en el de destino. La configuración inicial requiere el rol de Administrador de la organización (para la configuración de la relación de la organización) y la capacidad de registrar aplicaciones en Azure AD (para registrar la aplicación de migración en los pasos posteriores). El movimiento en sí mismo no requiere privilegios elevados y podría ser realizado por una cuenta con el permiso de Mover buzones de correo.
  2. Asegúrate de tener las licencias necesarias en ambos inquilinos, tanto en el de origen como en el de destino. Necesitarás licencias de Microsoft 365 y licencias de Migración de Datos de Usuario entre Inquilinos para todos los usuarios que se migren. Asegúrate de asignar las licencias de Migración de Datos de Usuario entre Inquilinos antes de la migración. En el inquilino de destino, asegúrate de que las licencias de Exchange Online no estén asignadas antes de asignar el atributo ExchangeGUID y las direcciones proxy al usuario, ya que esto provoca el fracaso de la migración (debido a que se asigna un buzón con GUID diferente al buzón).
  3. Obtén y anota el ID del inquilino para ambos inquilinos, como se describe en el artículo Encuentra el ID de tu inquilino de Microsoft 365. También, notifica a los usuarios finales sobre el impacto esperado.

A note to users

  • El buzón estará en modo de solo lectura durante un corto período durante la migración.
  • Los usuarios deben recrear el perfil de Outlook en dispositivos de escritorio y móviles después de la migración.
  • Las aplicaciones de Microsoft 365 pueden requerir reactivación.
  • Si OneDrive o SharePoint estaban mapeados como una unidad de red, necesitarán ser remapeados.
  • Las reuniones existentes de Teams necesitarán ser recreadas.
  • Los Grupos de Microsoft 365 no serán migrados.

2. Registro de la Aplicación de Migración en Microsoft Entra

Para permitir que Microsoft mueva a los usuarios entre dos inquilinos, necesitas registrar la aplicación en Microsoft Entra (para aquellos que se perdieron la actualización, Entra es como Microsoft llama a Azure AD ahora) del inquilino de destino y darle el permiso Mailbox.Migration. Además, se requiere la creación del secreto, que se utiliza para crear el punto de conexión de migración (el punto de conexión de migración es una entidad de configuración que contiene ajustes y credenciales para realizar migraciones externas).

  1. Ve a Centro de administración de Microsoft Entra e inicia sesión con una cuenta que pueda registrar aplicaciones.
  2. Navega hasta Aplicaciones > Registros de aplicaciones y selecciona Nuevo registro.
  1. En la ventana Registrar una aplicación que aparece, ingresa el nombre (cualquier nombre servirá), selecciona la opción Cuentas en cualquier directorio organizativo (Cualquier directorio de Microsoft Entra – Multiinquilino) como tipos de cuenta admitidos y especifica https://office.com como URI de redirección web, luego presiona Registrar.
  1. De vuelta en la página de Registros de aplicaciones, selecciona la aplicación creada.
  2. En la página abierta, en la pestaña Resumen, encuentra ID de aplicación (cliente) y anótalo para su uso posterior.
  1. Ve a la pestaña Permisos de API y presiona Agregar un permiso.
  1. En la ventana que aparece, navega hasta la pestaña API que usa mi organización y selecciona Office 365 Exchange Online.
  1. Navega hasta Permisos de aplicación, en la lista selecciona Buzón de correo > Migración de buzones de correo y luego presiona el botón Agregar permisos.
  1. Después de otorgar los permisos, ve a la pestaña Certificados y secretos (en el panel de navegación de la página de la aplicación) y en la sección Secretos de cliente, selecciona Nuevo secreto de cliente.
  1. Llene ambos campos y presione Agregar.
  1. De vuelta en la página de Certificados y secretos, verá el nuevo ID de secreto y la contraseña, anote ambos para uso futuro.

3. Preparación del inquilino de Office 365 de destino

En el siguiente paso, otorgamos el consentimiento de administrador a la aplicación registrada en el inquilino de destino, y luego creamos el punto de migración y la relación de organización. Las relaciones de organización se utilizan en Exchange Online para proporcionar a las partes externas acceso a los recursos internos. El uso más popular de esta función es dar acceso de lectura a la información del calendario a la organización asociada (para compartir el estado de disponibilidad), sin embargo, también se puede utilizar para otros tipos de acceso. En nuestro caso, proporcionamos la capacidad de mover el buzón.

  1. En el centro de administración de Microsoft Entra, vaya a Aplicaciones > Aplicaciones empresariales.
  2. En la lista de aplicaciones, seleccione la aplicación de migración creada.
  3. Aparece la página de la aplicación, vaya a la pestaña de Permisos y presione Conceder consentimiento de administrador para [el nombre de su inquilino].
  1. La página de la aplicación aparece, navega a la pestaña Permisos y presiona Conceder consentimiento de administrador para [el nombre de tu inquilino].
  1. Se abre una nueva ventana del navegador, acepta la concesión de permisos.
  2. Para crear el punto de migración y la relación de organización en el inquilino de destino, abre PowerShell y conéctate al módulo de Exchange Online.
  3. A continuación, verifica si tu organización de Exchange está en estado deshidratado. Si lo está, no es posible personalizar la configuración de la organización.
Get-OrganizationConfig | select isDehydrated
  1. Si la salida es Falso, este paso se puede ignorar, si es Verdadero, ejecuta el cmdlet Enable-OrganizationCustomization.
  2. Crea el punto de migración:
$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

Donde “<DominioFuente>.onmicrosoft.com” es el dominio desde el cual vas a migrar los usuarios

  1. Crea la relación de organización (o modifícala, si la relación ya existe):
$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. Preparación del inquilino de Microsoft 365 fuente

  1. Inicie sesión en la consola de administración de Microsoft Entra en el inquilino de origen.
  2. Vaya a la URL https://login.microsoftonline.com/<TargetTenant>.onmicrosoft.com/adminconsent?client_id=[ID de la aplicación]&redirect_uri=https://office.com, donde <TargetTenant> reemplácelo con el nombre de dominio del inquilino al que desea mover los buzones de correo, y el ID de la aplicación es el que se guardó anteriormente.
  3. En la ventana que aparece, acepte otorgar los permisos a la aplicación.
  1. Conéctese a Exchange Online PowerShell del inquilino de origen (si prepara ambos inquilinos desde la misma computadora, debe ejecutar Connect-ExchangeOnline nuevamente con un parámetro UserPrincipalName diferente).
  2. Repita los pasos 3.6 y 3.7 de la sección anterior para el inquilino de origen.
  3. Cree un nuevo grupo de seguridad habilitado para correo. Se utiliza para definir los usuarios que se moverán:
$UserGroup="[name of the group]" ; New-DistributionGroup -Type Security -Name $UserGroup
  1. Cree una relación de organización (o modifíquela, si la relación ya existe):
$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. Mueva todos los usuarios que se planea migrar al grupo creado en el paso 6. Recuerde que no se recomienda el uso de grupos anidados.

5. Preparación de las cuentas de usuario en el inquilino de destino

El movimiento entre inquilinos de buzones de correo requiere objetos MailUser pre-creados en el dominio de destino. Los objetos deben tener atributos que coincidan con los atributos del buzón de correo de origen, se pueden encontrar más detalles aquí. Asegúrese de que el atributo EmailAddresses esté configurado correctamente: debe contener el atributo LegacyExchangeDN del buzón de correo de origen como una dirección proxy X500. La forma más sencilla de realizar la coincidencia de atributos es usar PowerShell.

  1. En la sesión de PowerShell del inquilino de origen, ejecute el siguiente script para exportar los atributos de usuario a un archivo XML (en este caso, XML es mejor que CSV, ya que algunos atributos son matrices).
$UserAttributes = "C:\output\UserAttributes.xml" #use su propia ruta de archivo, asegúrese de que la carpeta 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 la creación de objetos MailUser, especifique las contraseñas. Por lo tanto, en la sesión de PowerShell del inquilino de destino, prepare alguna función de PowerShell para la generación de contraseñas. Por ejemplo, la siguiente función se crea basada en la función Get-RandomPassword disponible en la Galería de 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. En la sesión de PowerShell del inquilino de destino, ejecute el siguiente script para crear los objetos MailUser. Además, crea un archivo CSV que se utiliza durante la creación del lote de migración.
$MailUsers = Import-Clixml $UserAttributes
$Organization = "@.onmicrosoft.com" #use el nombre del inquilino de destino
$CSVData = "C:\output\CSVData.csv" #use su propia ruta de archivo, asegúrese de que la carpeta 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. Cuando se asegure de que los objetos adecuados se han creado en el inquilino de destino, asigne licencias de Exchange Online a los usuarios.
  2. Para validar la configuración, desde la sesión de PowerShell del inquilino de origen ejecute:
Test-MigrationServerAvailability -EndPoint "MigrationEndpoint01" -TestMailbox "[primary SMTP address of the target user mailbox]"

6. Movimiento de cuentas de usuario y finalización de migración

Durante las migraciones entre inquilinos de Office 365 a Office 365, los buzones se mueven utilizando lotes de migración. Los lotes de migración son las solicitudes para cambiar la ubicación de los buzones listados. El lote se crea utilizando el Centro de administración de Exchange Online o utilizando el cmdlet de PowerShell New-MigrationBatch .

  1. Cree el lote de migración desde la sesión de PowerShell del inquilino de origen. Asegúrese de que la ruta al archivo CSV creado anteriormente sea correcta.
New-MigrationBatch -Name Batch01 -SourceEndpoint "MigrationEndpoint01" -CSVData ([System.IO.File]::ReadAllBytes("C:\output\CSVData.csv"))`
-Autostart -TargetDeliveryDomain .onmicrosoft.com

Tenga en cuenta que Microsoft no recomienda usar lotes con más de 2000 usuarios. Si tiene un gran número de buzones que mover, cree varios lotes.

  1. Monitoree el progreso del movimiento del lote desde PowerShell (utilizando el cmdlet Get-MigrationStatistics) o en el centro de administración de Exchange Online (inicie sesión en https://admin.exchange.microsoft.com/ y vaya a Inicio> Lotes de migración), busque los errores y advertencias.
  2. Después, use el archivo con la información de delegación creada anteriormente para reconfigurar los permisos de Enviar en nombre de. Para hacerlo, ejecute lo siguiente en la sesión de PowerShell del inquilino de destino:
$delegateelist = Import-Csv "C:\output\delegatee.csv"
foreach ($mailbox in $delegateelist ) {
    Set-Mailbox $mailbox.Delegator -GrantSendOnBehalfTo $mailbox.delegatee)
}

Después de completar todos los pasos, siéntase libre de eliminar el punto de migración y la relación de la organización.

Cómo – Conclusión de la migración de Office 365 a Office 365

Para migrar con éxito buzones entre entornos de Office 365 se requiere una evaluación exhaustiva y una ejecución precisa de múltiples pasos. Esta guía ha proporcionado una hoja de ruta completa para que los profesionales de TI naveguen a través de consideraciones críticas, permisos y configuración de migración. Al seguir estos pasos, las organizaciones llevan a cabo un proceso de migración de buzones suave y eficiente, garantizando un tiempo de inactividad mínimo y preservando la integridad de los datos.

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