Exchange Server to Microsoft 365 Migration — Complete Guide (2026)

This is not a theoretical walkthrough. Every recommendation in this guide comes from 500+ Exchange-to-Microsoft-365 migrations we have completed at Medha Cloud across organizations ranging from 15-user law firms to 8,000-seat enterprises. We have seen every failure mode, every obscure permission bug, and every DNS propagation surprise that exists. This guide gives you the exact playbook our engineers follow.
If you want us to handle the migration end-to-end, contact our migration team. If you want to do it yourself, read on — and do it right.
1. Pre-Migration Planning
The single biggest predictor of migration success is the quality of your pre-migration discovery. Every failed migration we have been called in to rescue skipped this phase or did it superficially.
1.1 Discovery Assessment
Before touching a single PowerShell cmdlet, document the following:
Mailbox Inventory
Get-Mailbox -ResultSize Unlimited | Get-MailboxStatistics |
Select-Object DisplayName, ItemCount, TotalItemSize, LastLogonTime |
Export-Csv "C:\MailboxReport.csv" -NoTypeInformation
Record every mailbox. Pay special attention to:
- Mailboxes over 50 GB — these will throttle during migration and need special batch scheduling
- Shared mailboxes — licensing requirements differ in Exchange Online
- Resource mailboxes (room/equipment) — these migrate differently and need reconfiguration
- Inactive or disconnected mailboxes — decide now: migrate or archive?
Distribution Lists & Groups
Get-DistributionGroup -ResultSize Unlimited | ForEach-Object {
$members = (Get-DistributionGroupMember $_.Name) -join '; '
[PSCustomObject]@{ Name = $_.Name; Members = $members; Type = $_.GroupType }
} | Export-Csv "C:\DLReport.csv" -NoTypeInformation
- Nested distribution lists can cause conversion failures — flatten or document the hierarchy
- Dynamic distribution groups must be recreated in Exchange Online (they do not migrate)
- Mail-enabled security groups need special handling in hybrid configurations
Public Folders
Get-PublicFolder -Recurse -ResultSize Unlimited |
Get-PublicFolderStatistics |
Select-Object Name, FolderPath, ItemCount, TotalItemSize |
Export-Csv "C:\PublicFolderReport.csv" -NoTypeInformation
Third-Party Integrations
- SMTP relay devices (copiers, scanners, LOB applications sending email)
- Journaling or archiving solutions (Mimecast, Barracuda, Proofpoint)
- Calendar integrations (room booking systems, scheduling tools)
- Mobile device management (ActiveSync policies, Intune enrollment)
- Custom transport rules and compliance policies
1.2 Choosing Your Migration Method
The method you choose depends on four factors: mailbox count, Exchange version, coexistence requirements, and acceptable downtime window. See the comparison table in Section 2.
1.3 Timeline Planning
Based on our 500+ migration track record, here are realistic timelines (not the marketing timelines Microsoft publishes):
- Small org (1–50 mailboxes): 1–2 weeks end-to-end including planning
- Medium org (51–500 mailboxes): 3–6 weeks with proper batching
- Large org (500–5,000 mailboxes): 6–12 weeks minimum
- Enterprise (5,000+ mailboxes): 3–6 months with dedicated project management
These timelines include planning, pilot batch, production batches, public folder migration, DNS cutover, and post-migration validation.
1.4 Communication Plan
Users hate surprises. Send three communications:
- 2 weeks before: "We are migrating your email to Microsoft 365. Here is what to expect. Here is your new Outlook Web Access URL."
- 48 hours before your batch: "Your mailbox moves this weekend. Please close Outlook Friday at 5 PM. Do not delete any emails."
- Day of completion: "Your mailbox is now in Microsoft 365. Here is how to reconnect Outlook. Call the help desk if you have issues."
We provide communication templates to all our managed migration clients.
2. Migration Methods Comparison
This is the decision matrix we use internally. It has been refined across hundreds of engagements.
| Method | Best For | Mailbox Limit | Exchange Versions | Coexistence | Downtime | Complexity |
|---|---|---|---|---|---|---|
| Cutover | Small orgs, fast migration | < 150 mailboxes | 2010, 2013, 2016, 2019 | None (all at once) | 1–3 days | Low |
| Staged | Medium orgs, batch approach | 150–2,000 | 2010, 2013 only | Temporary | Per-batch (hours) | Medium |
| Hybrid (Minimal) | Orgs wanting quick cloud move | Unlimited | 2013, 2016, 2019, SE | Full | Near-zero | Medium-High |
| Hybrid (Full) | Enterprises, long coexistence | Unlimited | 2013, 2016, 2019, SE | Full + features | Near-zero | High |
| IMAP | Non-Exchange sources | Unlimited | Any IMAP server | None | Variable | Low |
| Third-Party Tools | Complex/legacy environments | Unlimited | Any (including 2007) | Varies | Variable | Medium |
When to Use Each Method
Cutover Migration: You have fewer than 150 mailboxes, you are on Exchange 2010 or later, and you can tolerate a weekend of disruption. This is the fastest path to the cloud. We cover this in detail in Section 4.
Staged Migration: You have 150–2,000 mailboxes on Exchange 2010 or 2013. Microsoft is phasing out support for staged migrations — if you are on 2016/2019, go hybrid instead.
Hybrid Migration: This is what we recommend for 80% of our clients. It gives you the best user experience, near-zero downtime, and full coexistence (free/busy, cross-premises calendar sharing, unified GAL). We cover this in detail in Section 3.
IMAP Migration: Only use this if your source is not Exchange (Zimbra, Dovecot, hMailServer, etc.). IMAP migrates email only — no contacts, no calendars, no rules.
Third-Party Tools (BitTitan, Quest, AvePoint): Use when you have Exchange 2007 (no native hybrid support), when you need to migrate from multiple heterogeneous sources simultaneously, or when you need granular scheduling that native tools do not provide.
3. Step-by-Step: Hybrid Migration (Enterprise Standard)
Hybrid migration is the gold standard for organizations with more than 150 mailboxes. It maintains full coexistence between on-premises Exchange and Exchange Online throughout the migration, meaning users can send each other free/busy requests, share calendars, and see a unified address book regardless of where their mailbox lives.
Here is our exact process, refined over hundreds of hybrid deployments with our Exchange Server support team.
Step 3.1: Prerequisites
Before You Begin — Verify These
- Exchange Server 2013 SP1+, 2016, 2019, or Subscription Edition
- Valid third-party SSL certificate (SAN certificate covering mail.domain.com, autodiscover.domain.com)
- Outbound port 443 open to Office 365 endpoints
- Azure AD tenant with verified domain
- Exchange Server published externally (EWS, Autodiscover, MAPI/HTTP)
- Sufficient Microsoft 365 licenses for all users being migrated
Step 3.2: Set Up Azure AD Connect (Entra Connect)
Azure AD Connect synchronizes your on-premises Active Directory identities to Azure AD/Entra ID. This is the foundation of hybrid.
- Download Azure AD Connect from the Microsoft portal
- Install on a domain-joined server (not the Exchange server itself — we have seen performance issues when co-located)
- Choose Custom Installation for control over OU filtering
- Select Password Hash Sync + Seamless SSO (our recommended default) or ADFS if you have regulatory requirements
- Filter only the OUs containing user accounts and mail-enabled groups
- Enable Exchange Hybrid writeback under Optional Features
- Complete initial sync and verify users appear in Microsoft 365 admin portal
Get-ADSyncScheduler
# Force a delta sync
Start-ADSyncSyncCycle -PolicyType Delta
Step 3.3: Configure Hybrid Exchange (HCW)
The Hybrid Configuration Wizard (HCW) automates the complex setup of mail flow connectors, OAuth authentication, and organization relationships.
- Download the latest HCW from
https://aka.ms/HybridWizard - Run on your newest Exchange server (2019/SE preferred)
- Sign in with on-premises Exchange admin and Microsoft 365 Global Admin credentials
- Select Full Hybrid for enterprise deployments
- Choose Exchange Classic Hybrid Topology or Modern Hybrid (agent-based, no inbound firewall rules needed)
- For mail flow, select Centralized Transport if you need all outbound mail to route through on-premises (compliance scanning) or Decentralized for direct cloud delivery
- HCW will configure: Send/Receive connectors, OAuth, Organization Relationship, MRS proxy endpoint
Test-OAuthConnectivity -Service EWS -TargetUri https://outlook.office365.com/ews/exchange.asmx -Mailbox [email protected]
If OAuth fails, free/busy lookups between on-premises and cloud users will not work. Fix it before moving any mailboxes.
Step 3.4: Create Migration Endpoints and Batches
Migration endpoints tell Exchange Online how to reach your on-premises server to pull mailbox data.
Connect-ExchangeOnline
# Create migration endpoint
New-MigrationEndpoint -ExchangeRemoteMove \
-Name "HybridEndpoint" \
-RemoteServer mail.yourdomain.com \
-Credentials (Get-Credential)
Batching Strategy (Our Proven Approach)
| Batch | Who | Purpose | Size |
|---|---|---|---|
| Pilot | IT team + power users | Validate process, catch issues | 5–10 mailboxes |
| Batch 1 | Department with least dependencies | Build confidence | 25–50 mailboxes |
| Batch 2–N | Remaining departments | Production migration | 50–100 per batch |
| Final | Executives + shared mailboxes | Highest visibility, most testing | Variable |
New-MigrationBatch -Name "Batch1-Finance" \
-SourceEndpoint "HybridEndpoint" \
-CSVData ([System.IO.File]::ReadAllBytes("C:\Batch1.csv")) \
-TargetDeliveryDomain yourdomain.mail.onmicrosoft.com \
-AutoStart
# Monitor batch progress
Get-MigrationBatch "Batch1-Finance" | Format-List Status, TotalCount, SyncedCount, FinalizedCount
Step 3.5: Move Mailboxes in Batches
Each batch goes through three phases:
- Initial Sync: Copies all mailbox data to Exchange Online. Users continue working on-premises. This can take hours to days depending on mailbox size and bandwidth.
- Incremental Sync: Catches up delta changes. Run this 2–3 times before completing.
- Completion (Finalization): Switches the mailbox to Exchange Online. This takes 2–5 minutes per mailbox and requires users to restart Outlook.
Complete-MigrationBatch "Batch1-Finance"
# Verify individual mailbox migration status
Get-MoveRequest | Get-MoveRequestStatistics |
Select-Object DisplayName, StatusDetail, PercentComplete, TotalMailboxSize
Step 3.6: Decommission On-Premises Exchange
After all mailboxes are in Exchange Online, you can decommission on-premises Exchange. But not immediately.
- Attribute management (if using AD Connect, Exchange attributes are managed via on-premises Exchange)
- SMTP relay for on-premises devices that cannot authenticate to Exchange Online directly
- Rollback capability in case of unexpected issues
4. Step-by-Step: Cutover Migration (Small Orgs)
Cutover migration moves all mailboxes in a single operation. It is the simplest method and works well for organizations with fewer than 150 mailboxes. We typically complete cutover migrations in a single weekend.
Step 4.1: Prepare Microsoft 365 Tenant
- Purchase Microsoft 365 licenses for all users
- Add and verify your domain in Microsoft 365 admin center (TXT record verification)
- Do NOT update MX records yet — that comes last
Step 4.2: Reduce DNS TTL
Step 4.3: Configure Migration Endpoint
New-MigrationEndpoint -ExchangeOutlookAnywhere \
-Name "CutoverEndpoint" \
-ExchangeServer mail.yourdomain.com \
-Credentials (Get-Credential) \
-RPCProxyServer mail.yourdomain.com
Step 4.4: Create and Start the Cutover Batch
New-MigrationBatch -Name "CutoverBatch" \
-SourceEndpoint "CutoverEndpoint" \
-AutoStart
# Monitor progress
Get-MigrationBatch | Format-List
The batch will auto-discover and sync all mailboxes from the on-premises server. Wait for all mailboxes to reach Synced status.
Step 4.5: Complete Migration and Cut Over DNS
- Complete the migration batch:
Complete-MigrationBatch "CutoverBatch" - Update MX records to point to Exchange Online (
yourdomain-com.mail.protection.outlook.com) - Update Autodiscover CNAME to
autodiscover.outlook.com - Update SPF record to include
include:spf.protection.outlook.com - Assign Microsoft 365 licenses to all migrated users
- Have users restart Outlook — Autodiscover will reconnect to Exchange Online
Step 4.6: Verify and Clean Up
Get-Mailbox -ResultSize Unlimited | Select-Object DisplayName, PrimarySmtpAddress
# Test mail flow
Test-Mailflow
5. Common Gotchas from 500+ Migrations
This section alone is worth the read. These are the issues that derail migrations — and every single one of them has bitten us or our clients at least once. Most of these are not documented in Microsoft's official guides.
Gotcha #1: Public Folder Migration Timing
The fix: Begin public folder migration in parallel with your first mailbox batch, not after. Create the public folder migration request during the pilot phase so the initial sync runs while you are migrating mailboxes. Lock down and finalize public folders on the same weekend as your final mailbox batch. We always allocate a dedicated engineer to public folder migration on large engagements.
Gotcha #2: Calendar Delegate Permissions Not Migrating
The fix: Export all calendar permissions before migration:
Get-MailboxFolderPermission "$($_.Alias):\Calendar" -ErrorAction SilentlyContinue
} | Export-Csv "C:\CalendarPerms.csv" -NoTypeInformation
Migrate executive/assistant pairs in the same batch. Re-apply permissions after both mailboxes are online in Exchange Online. We script this and run it post-batch as standard procedure.
Gotcha #3: Large Mailbox Throttling
The fix: For mailboxes over 50 GB:
- Increase the
MaxConcurrentMigrationson your migration endpoint to 20 - Schedule large mailbox moves in their own batch, off-hours, with no more than 5 per batch
- Set
BadItemLimitto 50 andLargeItemLimitto 20 to avoid stalling on corrupt items - Archive old mail to PST or Online Archive before migration to reduce mailbox size
Gotcha #4: Distribution List Conversion
The fix: Before migration, audit all DLs for orphaned owners. Convert any DLs that need to become Microsoft 365 Groups (for Teams integration) during migration, not after. Document which DLs are mail-enabled security groups — these need separate handling.
Gotcha #5: Shared Mailbox Licensing
The fix: Shared mailboxes under 50 GB without archive do not require a license in Exchange Online. But if any shared mailbox uses In-Place Archive or exceeds 50 GB, assign an Exchange Online Plan 2 license. We audit this during discovery and include licensing costs in every migration quote.
Gotcha #6: DNS TTL Not Reduced Before MX Cutover
The fix: 72 hours before migration, reduce MX and Autodiscover TTL to 300 seconds. Verify the change has propagated using
nslookup -type=mx yourdomain.com from multiple DNS resolvers. We check TTL values as part of our pre-migration validation — no migration proceeds until TTLs are confirmed low.
Gotcha #7: Outlook Profile Autodiscover Caching
The fix: Deploy a registry cleanup script via GPO or SCCM before migration day:
Remove-ItemProperty -Path "HKCU:\Software\Microsoft\Office\16.0\Outlook\AutoDiscover" \
-Name * -ErrorAction SilentlyContinue
Gotcha #8: Send-As and Send-on-Behalf Permissions
The fix: Migrate users who share Send-As or Send-on-Behalf permissions in the same batch. If that is not possible, temporarily grant the permission in both environments until all dependent users are migrated.
6. Post-Migration Checklist
We run this checklist after every migration batch and again after the final batch. Print this. Tape it to your monitor.
- Mail flow verified — Send/receive test emails internally and externally
- MX records pointing to Exchange Online — Verify with nslookup from external DNS
- Autodiscover CNAME updated — Points to autodiscover.outlook.com
- SPF record updated — Includes
include:spf.protection.outlook.com - DKIM configured — CNAME records published for DKIM signing
- DMARC policy active — At minimum
p=nonefor monitoring - All mailboxes licensed — No unlicensed mailboxes (they stop working after 30 days)
- Shared mailboxes converted — Changed from regular to shared in Exchange Online
- Calendar permissions restored — Delegate access verified for executive/assistant pairs
- Distribution lists functional — Test email delivery to all DLs
- Public folders accessible — Verify from both Outlook and OWA
- Transport rules recreated — Verify compliance policies, disclaimers, journaling
- Mobile devices reconnected — ActiveSync profiles updated or re-enrolled
- SMTP relay devices reconfigured — Copiers, scanners, LOB apps pointed to new SMTP relay
- Backup/archive solution updated — Pointed to Exchange Online instead of on-premises
- Room and equipment mailboxes tested — Booking functionality verified
- Retention policies applied — Compliance retention policies configured in Purview
- Outlook profiles reconnected — All users confirmed working (check help desk ticket volume)
- Conditional Access policies active — MFA, device compliance, location-based access
- Azure AD Connect sync healthy — No sync errors in Entra Connect Health
Need help running through this checklist? Our migration team provides post-migration validation as part of every engagement.
7. Timeline & Sizing Guide
This table reflects real-world timelines from our migration practice — not theoretical estimates. Actual timelines vary based on internet bandwidth, mailbox sizes, public folder volume, and organizational complexity.
| Organization Size | Mailboxes | Recommended Method | Planning Phase | Migration Phase | Total Timeline |
|---|---|---|---|---|---|
| Micro | 1–25 | Cutover | 2–3 days | 1 weekend | 1 week |
| Small | 26–150 | Cutover | 1 week | 1 weekend | 2 weeks |
| Medium | 151–500 | Hybrid (Minimal) | 2 weeks | 2–3 weeks | 4–5 weeks |
| Large | 501–2,000 | Hybrid (Full) | 3 weeks | 4–6 weeks | 7–9 weeks |
| Enterprise | 2,001–5,000 | Hybrid (Full) | 4 weeks | 6–10 weeks | 10–14 weeks |
| Large Enterprise | 5,000+ | Hybrid (Full) + Third-Party | 6–8 weeks | 8–16 weeks | 14–24 weeks |
Bandwidth Requirements
Migration throughput depends heavily on your upload bandwidth to Microsoft 365. Here are real numbers from our migrations:
| Upload Bandwidth | Approximate Throughput | Time to Move 100 GB |
|---|---|---|
| 10 Mbps | ~3 GB/hour | ~33 hours |
| 50 Mbps | ~10 GB/hour | ~10 hours |
| 100 Mbps | ~15 GB/hour | ~7 hours |
| 1 Gbps | ~25 GB/hour* | ~4 hours |
*Microsoft MRS throttling limits throughput regardless of available bandwidth. 25 GB/hour is a practical ceiling per migration endpoint.
Use our migration calculator to estimate your specific timeline based on mailbox count, average size, and bandwidth.
8. Frequently Asked Questions
How long does an Exchange-to-Microsoft-365 migration take?
It depends on your organization size and method. A cutover migration for 50 mailboxes can complete in a single weekend. A full hybrid migration for 2,000+ mailboxes typically takes 8–12 weeks including planning, pilot, and production batches. See our timeline sizing guide for detailed estimates based on 500+ completed migrations.
Will users experience downtime during migration?
With hybrid migration, downtime is near-zero. Users experience a 2–5 minute interruption when their individual mailbox is finalized (switched from on-premises to cloud). They simply restart Outlook and continue working. With cutover migration, expect 1–3 days where mail delivery may be inconsistent as DNS propagates.
Do we lose any data during migration?
No. All emails, contacts, calendar items, tasks, and notes are migrated. The only items that do not migrate natively are Outlook rules (which need to be re-created) and custom forms. We set BadItemLimit thresholds to handle the rare corrupt item without stalling the entire batch.
Can we migrate from Exchange 2010 or 2013?
Yes. Exchange 2013 supports hybrid migration directly. Exchange 2010 supports cutover and staged migrations. For Exchange 2010 hybrid, you need to first introduce an Exchange 2013 or 2016 server as a hybrid endpoint. We have completed dozens of Exchange 2010 migrations using this coexistence bridge approach.
What about our public folders?
Public folders can be migrated to Exchange Online Public Folders or converted to Microsoft 365 Groups (recommended for collaboration). Migration involves creating a CSV mapping, running batch migration requests, and finalizing during a maintenance window. Our recommendation: if you have fewer than 500 folders, migrate to Exchange Online. If you have more, evaluate converting high-use folders to Teams/SharePoint.
Do shared mailboxes need licenses in Microsoft 365?
Shared mailboxes under 50 GB without In-Place Archive do not require a license. However, if a shared mailbox exceeds 50 GB or uses archive functionality, you must assign an Exchange Online Plan 2 license. We audit shared mailbox sizes during discovery to provide accurate licensing costs.
What happens to our on-premises Exchange server after migration?
We recommend keeping at least one Exchange server running for 3–6 months post-migration for attribute management (if using Azure AD Connect) and as a safety net. After that period, you can fully decommission. Never just delete the Exchange server VM — always run the proper uninstall to clean up Active Directory schema objects.
Can Medha Cloud handle the entire migration for us?
Yes. Our managed migration service covers everything from pre-migration discovery through post-migration validation and 30-day hypercare support. We have completed 500+ migrations with a 99.7% success rate. Contact us for a free migration assessment.
Ready to Migrate?
Every week you stay on aging Exchange Server hardware is another week of patching risk, compliance exposure, and hardware failure probability. Microsoft 365 eliminates all of that.
We have migrated 500+ organizations to Microsoft 365 — from 15-user startups to 8,000-seat enterprises — with a 99.7% success rate. Whether you want a fully managed migration or expert guidance for your internal team, we have a solution.
- Explore our Microsoft 365 migration services
- Use our migration calculator to estimate your timeline and cost
- Get Exchange Server support while you plan your migration
- Contact us for a free migration assessment
Let our certified engineers handle your Exchange migration with zero data loss and minimal downtime.
Exchange Online Migration SupportTopics

Sreenivasa Reddy G
Founder & CEO • 15+ years
Sreenivasa Reddy is the Founder and CEO of Medha Cloud, recognized as "Startup of the Year 2024" by The CEO Magazine. With over 15 years of experience in cloud infrastructure and IT services, he leads the company's vision to deliver enterprise-grade cloud solutions to businesses worldwide.
More in Exchange Server
View all
Exchange Online vs On-Premises: The Ultimate 2025 Comparison
15 min read

???? URGENT: CISA Emergency Directive 25-02 – Your Exchange Server Is at Risk Right Now
24 min read
Exchange Server Subscription Edition (SE): Your Guide to CUs, SUs, and Modern On-Premises Exchange
19 min read
Exchange Server to Microsoft 365 Migration 2026: Complete Guide for Exchange 2013, 2016, and 2019
22 min read
Navigating Exchange Server 2013 Cumulative Updates (CUs) & Security Updates (SUs): A Comprehensive Guide
12 min read
Your Ultimate Guide to Exchange Server 2016 Cumulative Updates (CUs) & Security Updates (SUs): Downloads & Key Information
18 min read