Migrate Exchange

Exchange has 5 types of system mailboxes:

You cannot delete a mailbox database until all system mailboxes are migrated from it.

Get a list of Arbitration mailboxes

Get-Mailbox -Arbitration | fl Name, ServerName

Start a move request for these mailboxes

Get-Mailbox -Arbitration | New-MoveRequest  -TargetDatabase <Database Name>

Another move example:

Get-Mailbox -Database <Database Name> -Arbitration | New-MoveRequest -TargetDatabase <Database Name>
Get-Mailbox -Database <Database Name> -AuditLog | New-MoveRequest -TargetDatabase <Database Name>
Get-Mailbox -Database <Database Name> -PublicFolder | New-MoveRequest -TargetDatabase <Database Name>
Get-Mailbox "DiscoverySearchMailbox {D919BA05-46A6-415f-80AD-7E09334BB852}" | New-MoveRequest -TargetDatabase <Database Name>
Get-Mailbox -Database <Database Name> -Monitoring | New-MoveRequest -TargetDatabase <Database Name>

Check the status of existing move requests

Get-MoveRequest | Get-MoveRequestStatistics

Remove completed move requests

Get-MoveRequest -MoveStatus Completed | Remove-MoveRequest

Migration to O365 ¶

$UserCredential = Get-Credential

Enter O365 tenant credentials when prompted.

$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri "https://outlook.office365.com/powershell-liveid/" -Credential $UserCredential -Authentication Basic -AllowRedirection

Import-PSSession $Session

You are now connected to Exchange Online via PowerShell

$OnPremAdmin = Get-Credential

Enter your on-prem administrator credentials when prompted.

New-MoveRequest -Identity "UPN of mailbox to be migrated" -Remote -RemoteHostName "FQDN of your on-prem server e.g. mail.yourdomain.com" -RemoteCredential $OnPremAdmin -TargetDeliveryDomain "yourdomain.mail.onmicrosoft.com"

The mailbox is now queued for migration.