I needed to migrate users from one email server to a new one with more storage. These users mostly fell into neat OU grouping. To do an OU at a time, I used the following command:
Get-Mailbox -server "EXCH01" -OrganizationalUnit "domain.local/Company/State/Office/Department/Team" | ` Move-Mailbox -TargetDatabase "EXCH02StorageGroup1Database1" -SourceMailboxCleanupOptions DeleteSourceMailbox –ReportFile c:migration_report.xml
The first line gets all the mailboxes in the specified OU. Line 2 performs the mailbox move, specifying the target database and a custom report file name for the results.