Learn › Exchange Online › 7 · Hybrid & migration

Migration types and choosing one

Five ways into Exchange Online, one decision tree: source system, scale, coexistence tolerance. Choose by constraints and the project plans itself; choose by preference and the project plans you.

The decision tree

From Exchange on-prem? → Remote moves (hybrid MRS): the gold path — mailboxes move online with sync'd identity, users keep Outlook profiles (autodiscover flips them), coexistence is native, batches control pace. Small legacy estates wanting no hybrid: cutover (everything at once, <150-ish mailboxes, profile rebuilds accepted) or staged (legacy-version batch variant).

From non-Exchange (Gmail, Notes, hosted IMAP)? → IMAP migration (mail only — no calendar/contacts; expectations managed accordingly) or third-party tools for fidelity beyond mail. Google-specific: the built-in Google Workspace migration path covers mail/calendar/contacts server-side.

Cross-TENANT (M&A)? → cross-tenant mailbox migration (the Teams curriculum's migration concept has the full M&A frame; mail moves better than most workloads — the chat-history wall doesn't apply here, but target-address/MailUser choreography does: recipient-model concept).

The mechanics that decide project quality

  • MRS batches: endpoint + CSV/user list, initial sync -> incremental -> completion window. The lever people miss: completion is separable — sync for days, complete in controlled waves at night; 'the migration' users feel is minutes.
  • Throughput realities: throttling on both sides bounds speed; large mailboxes and item-count monsters dominate timelines (find the 100GB mailboxes FIRST — limits concept — and plan them explicitly).
  • The X500 imperative (recipient-model): legacyExchangeDN preserved as X500 or autocomplete bounces poison week one.
  • Rollback truth: before completion, rollback is 'stop'; after, it's a reverse migration — the completion wave IS the commitment ceremony; rehearse wave one small.

What to watch (proofs)

  • Batch telemetry: Get-MigrationBatch / Get-MigrationUser statistics — per-mailbox sync state, item errors, bytes; the burn-down chart is generated, not estimated.
  • Error taxonomy: migration-user error reports grouped — corrupt items vs permissions vs throttling have different fixes; triage by class, not by user.
  • Pre-flight censuses: size/item-count outliers, X500 sampling, protocol dependencies (the POP/IMAP survivors move LAST or die) — each census prevents its own incident class.
  • Post-wave validation: the persona test per wave (send/receive, delegate access, mobile) — the same wave-gate discipline as every migration on this site.

PowerShell for this concept

  • Get-MigrationBatch Retrieve status information about the current migration batch.
  • Get-MigrationUser View information about move and migration users.
  • Get-MoveRequest View the detailed status of an ongoing asynchronous mailbox move that was initiated by...

Discussion

No messages yet — start the thread.

Sign in with your email to join the discussion — we send a one-time link, no password.