Some handy commands for Microsoft Exchange Server on-premise – a growing list…
List all mailboxes across all databases:
Get-Mailbox
This doens’t include system & arbitration mailboxes.
List all arbitration mailboxes across all databases:
Get-Mailbox -Arbitration
This doesn’t include user or resource mailboxes.
List all mailbox databases:
Get-MailboxDatabase
Move a single mailbox to another mailbox database:
New-MoveRequest -TargetDatabase <databaseName> -Identity <mailboxID>
Notes:
- The mailbox identity can be in quote marks
- The mailbox identity can be one of the following:
- GUID
- Distinguished name (DN)
- Domain\Account
- User principal name (UPN)
- LegacyExchangeDN
- SMTP address
- Alias
Get the current status of all mailbox move requests:
Get-MoveRequest -ResultSize Unlimited | Get-MoveRequestStatistics
Get the current status of a single mailbox move request:
Get-MoveRequest -Identity "john.doe@example.com" | Get-MoveRequestStatistics
Remove completed mailbox move requests:
Get-MoveRequest -MoveStatus Completed | Remove-MoveRequest -Confirm:$false
Resume all suspended mailbox move requests:
Get-MoveRequest -MoveStatus Suspended | Resume-MoveRequest