How to Upgrade Exchange 2013 to Exchange 2019 - Part 2 ====================================================== 1. Prepare the Exchange 2019 Mailbox and PF DB and Logs ------------------------------------------------------- • Rename and move the Ex-19 DB and Logs Move-Databasepath MBX2-19 –EdbFilepath "D:\MBX2-19\MBX2-19.edb" –LogFolderpath "E:\MBX2-19" • Check Storage Quotas, set a Default OAB for the Ex19 DB • Create an Ex19 Public Folder DB and Secondary Hierarchy New-MailboxDatabase -Server EX2-19 -Name PFDB-19 –EdbFilepath "D:\PFDB-19\PFDB-19.edb" –LogFolderpath "E:\PFDB-19" 2. Modify and create connectors as documented in Part 1 ------------------------------------------------------- • Test mailflow commands Test-Mailflow -TargetDatabase MBX1-13 Test-Mailflow -TargetEmailAddress administrator@netometer.com • Add the Ex19 server to the Internet Send Connector • Recreate the Custom Connector(s) on Ex19 3. Move the Mailboxes from Ex13 to Ex19 ---------------------------------------- List the arbitration MBX on Ex13 Get-Mailbox -Arbitration -Database MBX1-13 • Move first the Migration Mailbox Get-Mailbox Migration* -Arbitration | Format-List Name,Database,ServerName,AdminDisplayVersion Get-Mailbox Migration* -Arbitration | New-MoveRequest -TargetDatabase "MBX2-19" Get-MoveRequest | Get-MoveRequestStatistics • Move the rest of the System/Arbitration Mailboxes Get-Mailbox -Arbitration -Database MBX1-13 | New-MoveRequest -TargetDatabase "MBX2-19" • Move the DiscoverySearch Mailbox Get-Mailbox DiscoverySearchMailbox* | Format-List Name,Database,ServerName,AdminDisplayVersion Get-Mailbox DiscoverySearchMailbox* | New-MoveRequest -TargetDatabase "MBX2-19" Get-MoveRequest | Get-MoveRequestStatistics • Organize and move the Mailboxes in batches using CSV files and the EAC Get-Mailbox -OrganizationalUnit "Marketing" -ResultSize Unlimited Get-Mailbox -OrganizationalUnit "Marketing" | select WindowsEmailAddress | Export-Csv marketing.csv • Organize and move the Mailboxes in batches using the New-MoveRequest commandlet Get-Mailbox -OrganizationalUnit Managers | New-MoveRequest -TargetDatabase MBX2-19 -BatchName Managers -BadItemLimit 10 $CompleteTime=(Get-Date "5/29/2023 8:30 PM").ToUniversalTime() Get-Mailbox -OrganizationalUnit Managers | New-MoveRequest -TargetDatabase MBX2-19 -BatchName Managers -BadItemLimit 10 -CompleteAfter $CompleteTime Get-MoveRequest | Get-MoveRequestStatistics • Detect and repair corrupted items in mailboxes New-MailboxRepairRequest -Mailbox AMeza -CorruptionType ProvisionedFolder,SearchFolder,AggregateCounts,Folderview -DetectOnly Get-MailboxRepairRequest -Mailbox AMeza | ft Job*,Progress,Corruptions* Get-MailboxRepairRequest -Database MBX1-13 | Remove-MailboxRepairRequest -Confirm:$false • Move the rest of the mailboxes on the Exchange 2013 database Get-Mailbox -Database "MBX1-13" -ResultSize Unlimited | New-MoveRequest -TargetDatabase "MBX2-19" -BatchName "AllMBX13" Get-MoveRequest -ResultSize Unlimited -BatchName "AllMBX13" • Move the Public Folders Get-Mailbox -PublicFolder | Get-MailboxStatistics | ft DisplayName,TotalItemSize,ServerName Get-Mailbox -PublicFolder | New-MoveRequest -TargetDatabase PFDB-19 Get-MoveRequest | Get-MoveRequestStatistics • Enable MAPI over HTTP Get-OrganizationConfig | fl MapiHttpEnabled Set-OrganizationConfig -MapiHttpEnabled $true # Note: Recycle the Audodiscover, Mapi, and RPC (Outlook anywhere) pools to apply the Mapi over Http settings. • Decommission Exchange 2013 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :: http://www.netometer.com :: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::