Introduction
The process of migrating mailbox content between Exchange servers has been greatly improved for Exchange 2007. Differently than previous versions, our tools are now part of the server code and are therefore more integrated and functional.
There are three tasks used for mailbox migration operations:
Move-mailbox functionality can be further divided in two main scenarios:
In this post I will go over Intra-Org migrations. I will address Cross-Org and the other tasks in future posts.
Intra-Org Mailbox Moves
The following Exchange Server versions are supported for this kind of move:
Source Server:
Target Server:
Exchange Permission requirements:
Logon account for the user who is running Move-Mailbox needs to be a member of "Exchange Recipient Administrators" and "Exchange Servers" groups for both source and target Server. Permissions for previous Exchange Servers remain the same as they were for Exchange 2003 Migration Wizard.
Scenarios
These are common scenarios associated with Intra-Org move-mailbox moves:
New Move Mailbox functionality added for Exchange 2007
Pre-Validation
Move-mailbox will perform a series of checks before actually trying to move the mailbox. This feature saves time by identifying errors right away rather than waiting until they happen during the move process.
Here is a list of current checks we perform:
Administrators can run the validation directly from the Move-Mailbox cmdlet by using the -ValidateOnly parameter. In addition, validation is always executed before a 'real' move. This means that even when running moves using the Exchange Management Console Move Mailbox Wizard, a pre-validation will be performed and any errors will be reported right away.
New and Improved Logging
Exchange 2007 Move-Mailbox improves on the existing Exchange 2003 logging functionality (event logs and XML report) and adds one new log feature - the troubleshooting log.
Here is a brief overview of the three logging types available:
All logs are enabled by default and are saved into this path: <Exchange Install Root>\Logging\MigrationLogs\.
Two interfaces for moving mailboxes
Administrators can choose between running Intra-Org moves from the Exchange Management Console Wizard and using the Move-Mailbox task from the Exchange Management Shell. The console link is available within the Recipient Configuration / Mailbox node on the Actions panel (at least one mailbox needs to be selected in the result pane).
The Move Mailbox Wizard has been redesigned to match the new graphic design of Exchange 2007:
The basic experience for Administrators remains similar:
Some advanced options are available only when running Move-Mailbox from the Exchange Management Shell:
Intra-Org move-mailbox task examples
When running move-mailbox from the Exchange Management Shell you can interact with other tasks and create easy, but powerful, one-liners. Here are a few examples:
- Migrate all mailboxes from a legacy database to an Exchange 2007 database:
Get-Mailbox -Database "Exch2003Server1\DB1" | Move-Mailbox -TargetDatabase "Exch2007Server1\Mailbox Database"
- Migrate all legacy mailboxes from a database to an Exchange 2007 database:
Get-recipient | where { $_.RecipientTypeDetails -Eq " LegacyMailbox"}|Move-Mailbox -TargetDatabase "Exch2007Server1\Mailbox Database"
- Migrate all mailboxes for users whose alias start with the letter A from all databases within a legacy server to an Exchange 2007 database:
Get-Mailbox -Server "Exch2003Server1" | Where {$_.Alias -ilike "A*"} | Move-Mailbox -TargetDatabase "Exch2007Server1\Mailbox Database"
- Migrate mailboxes based on Organizational information
Get-User | Where { $_.Department -ilike "Accounting" } | Move-Mailbox -TargetDatabase " Exch2007Server1\Mailbox Database"
Get-Mailbox | Where { $_.OU -ilike "*Marketing" } | Move-Mailbox -TargetDatabase " Exch2007Server1\Mailbox Database"
Get-User | Where { $_.Company -ilike "Microsoft" } | Move-Mailbox -TargetDatabase " Exch2007Server1\Mailbox Database"
- Migrate mailboxes based on user's physical location
Get-User | Where { $_.City -ilike "Seattle" } | Move-Mailbox -TargetDatabase " Exch2007Server1\Mailbox Database"
Get-User | Where { $_.PostalCode -Eq "98075" } | Move-Mailbox -TargetDatabase " Exch2007Server1\Mailbox Database"
Get-User | Where { $_.StateOrProvince -ilike "WA" } | Move-Mailbox -TargetDatabase " Exch2007Server1\Mailbox Database"
- Migrate mailboxes based on size
Get-MailboxStatistics -Server "Exch2007Server1" | Sort TotalTimeSize -Desc | Select -First 10 |Move-Mailbox -TargetDatabase "Exch2007Server1\Mailbox Database"
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.