Running Orchestrated Migration End-to-End: Validation, Sync, Cutover, Monitoring, and Cleanup
Orchestrated migration is executed as a migration job (a batch). Microsoft states that the maximum batch size is 100 users and migrations are managed through Microsoft Graph APIs (beta) using PowerShell or Graph Explorer.
Step 1: create a validation batch (recommended)
Use standalone validation to confirm
prerequisites before you submit an actual migration. Validation behaves like a
what-if: it checks prerequisites at tenant and user levels (permissions,
relationships, identity mapping, licensing, and more).
Step 2: submit the migration batch and understand the
stages
·
Validation: checks
prerequisites; if checks fail, the user's migration does not begin.
·
Mailbox syncing: mailbox
content is synced in the background while the user continues working in the
source tenant. Microsoft strongly recommends submitting batches two weeks
before the cutover date.
·
Cutover: after
CompleteAfterDateTime passes and sync completes, mailboxes cut over to the
target tenant. After cutover, cancellations are no longer possible.
·
Teams and OneDrive: after
mailbox cutover, Teams chats, Teams meetings, and OneDrive sites begin
migration.
Batch control and monitoring (Graph beta PowerShell
examples)
# Create a validation job
Test-MgBetaCrossTenantMigrationJob -DisplayName "xtmigration1"
-CompleteAfterDateTime 2026-02-01T00:00:00Z -ResourceType Users -SourceTenantId
<sourceTenantId> -Resources @(<targetUserObjectId1>,
<targetUserObjectId2>)
# Create a migration job
New-MgBetaCrossTenantMigrationJob -DisplayName "xtmigration1"
-CompleteAfterDateTime 2026-02-01T00:00:00Z -ResourceType Users -SourceTenantId
<sourceTenantId> -Resources @(<targetUserObjectId1>,
<targetUserObjectId2>)
# Retrieve all jobs (batches)
Get-MgBetaCrossTenantMigrationJob
# Retrieve user status within a job
Get-MgBetaCrossTenantMigrationJobUser -CrossTenantMigrationJobId
<jobIdOrName> -CrossTenantMigrationTaskId <targetUserObjectId> |
ConvertTo-Json -Depth 100
# Update the cutover date
Update-MgBetaCrossTenantMigrationJob -CrossTenantMigrationJobId
<jobIdOrName> -CompleteAfterDateTime 2026-02-08T00:00:00Z
# Cancel a job (only before CompleteAfterDateTime)
Stop-MgBetaCrossTenantMigrationJob -CrossTenantMigrationJobId
<jobIdOrName>
Cleanup after migration
After migration completes, remove temporary
permissions and return tenants to a non-migration state. Typical cleanup
actions include:
·
Remove organization
relationships (Remove-OrganizationRelationship).
·
Remove migration endpoints
(Remove-MigrationEndpoint).
·
Remove meeting migration
permissions (Remove-MMSAppPermissions).
·
Remove identity mapping
permissions (Remove-CtimServicePrincipal) and Teams chat migration permissions
(Revoke-CTTMAppPermissions).
·
Remove CTIM data
(Remove-CtimData) when you have confirmed migration completion and business
acceptance.
Note: users remain on the source tenant as
MailUsers after migration. Depending on business needs, you can choose to
remove or maintain these objects.
Important: avoid outdated guidance
This blog series intentionally avoids using
the older Tenant-to-tenant migrations overview page you flagged as outdated.
Prefer the Migration Orchestrator and workload-specific cross-tenant migration
pages linked above.
Source links (Microsoft Learn)
·
https://learn.microsoft.com/en-us/microsoft-365/enterprise/migration-orchestrator-5-running-migration?view=o365-worldwide
·
https://learn.microsoft.com/en-us/microsoft-365/enterprise/migration-orchestrator-6-post-migration?view=o365-worldwide
·
https://learn.microsoft.com/en-us/graph/api/resources/crosstenant-migration-overview?view=graph-rest-beta
·
https://learn.microsoft.com/en-us/microsoft-365/enterprise/migration-orchestrator-1-overview?view=o365-worldwide
Comments
Post a Comment