Microsoft Exchange Server remains a cornerstone of enterprise email infrastructure. If you're running Exchange 2016, upgrading to Exchange 2019 brings significant improvements in security, performance, and features. This guide walks you through the upgrade process with minimal downtime.

⚠️ Important: Always perform a full backup of your Exchange databases and Active Directory before beginning any upgrade. Test the process in a non-production environment first.

Prerequisites

Before starting the upgrade, ensure your environment meets these requirements:

  • Windows Server: Exchange 2019 requires Windows Server 2019 or later
  • Active Directory: Forest functional level must be Windows Server 2012 R2 or higher
  • Exchange 2016: Must be running Cumulative Update 11 or later
  • .NET Framework: Version 4.8 required on the new server
  • Hardware: Minimum 128GB disk space, 128GB RAM recommended for production

Step 1: Prepare Active Directory

First, extend the Active Directory schema for Exchange 2019:

# Run from Exchange 2019 installation media Setup.exe /PrepareSchema /IAcceptExchangeServerLicenseTerms_DiagnosticDataON # Prepare Active Directory Setup.exe /PrepareAD /OrganizationName:"YourOrgName" /IAcceptExchangeServerLicenseTerms_DiagnosticDataON # Prepare all domains Setup.exe /PrepareAllDomains /IAcceptExchangeServerLicenseTerms_DiagnosticDataON
💡 Tip: Allow 15-30 minutes for AD replication to complete before proceeding, especially in multi-site environments.

Step 2: Install Exchange 2019

Install Exchange 2019 on a new Windows Server 2019 machine:

  1. Install Windows Server 2019 with the latest updates
  2. Join the server to your domain
  3. Install required prerequisites (UCMA 4.0, Visual C++ 2013)
  4. Install .NET Framework 4.8
  5. Run Exchange 2019 setup with the Mailbox role
# Install Exchange 2019 Mailbox role Setup.exe /Mode:Install /Role:Mailbox /IAcceptExchangeServerLicenseTerms_DiagnosticDataON

Step 3: Configure Coexistence

During the migration period, both Exchange 2016 and 2019 will run simultaneously. Configure the following:

Virtual Directories

Configure internal and external URLs on Exchange 2019 to match your existing namespace:

# Set OWA URLs Set-OwaVirtualDirectory -Identity "EX2019\owa (Default Web Site)" ` -InternalUrl "https://mail.yourdomain.com/owa" ` -ExternalUrl "https://mail.yourdomain.com/owa" # Set ECP URLs Set-EcpVirtualDirectory -Identity "EX2019\ecp (Default Web Site)" ` -InternalUrl "https://mail.yourdomain.com/ecp" ` -ExternalUrl "https://mail.yourdomain.com/ecp"

Certificates

Import your existing SSL certificate to the new Exchange 2019 server and assign it to the appropriate services (IIS, SMTP, IMAP, POP).

Step 4: Migrate Mailboxes

Create migration batches to move mailboxes from Exchange 2016 to 2019:

# Create a migration batch New-MigrationBatch -Name "Batch1-Executives" ` -SourceEndpoint (Get-MigrationEndpoint "Exchange2016") ` -TargetDeliveryDomain "yourdomain.com" ` -CSVData ([System.IO.File]::ReadAllBytes("C:\Migration\users.csv")) # Start the migration Start-MigrationBatch -Identity "Batch1-Executives"
💡 Best Practice: Migrate mailboxes in phases, starting with IT staff and pilot users before moving executive and general users.

Step 5: Update DNS and Load Balancers

Once mailboxes are migrated, redirect client traffic to Exchange 2019:

  • Update internal DNS records to point to Exchange 2019
  • Update load balancer configurations
  • Modify Autodiscover SCP records
  • Test OWA, Outlook connectivity, and mobile devices

Step 6: Decommission Exchange 2016

After confirming all services work correctly on Exchange 2019:

  1. Move any remaining system mailboxes (arbitration, discovery)
  2. Remove Exchange 2016 from the Send Connector
  3. Uninstall Exchange 2016 from each server
  4. Clean up DNS records pointing to old servers
✅ Success! Your Exchange environment is now running on Exchange Server 2019 with improved security features, better performance, and extended support from Microsoft.

Post-Migration Checklist

  • ☐ Verify all mailboxes accessible via OWA and Outlook
  • ☐ Test email flow (internal and external)
  • ☐ Confirm mobile device connectivity (ActiveSync)
  • ☐ Validate calendar sharing and free/busy
  • ☐ Test public folders (if applicable)
  • ☐ Update backup jobs to include new servers
  • ☐ Document the new configuration