Mimecast Simply Migrate: Migrating O365 Exchange Mailbox Data

Document created by user.oxriBaJeN4 Employee on Sep 11, 2019
Version 1Show Document
  • View in full screen mode

This guide provides steps on migrating the content of an Office 365 Microsoft Exchange mailbox to Mimecast using the Simply Migrate Management Shell. To ensure permissions have been correctly configured, follow the steps outlined in the Microsoft Office 365 and Microsoft Exchange Permissions page.


Migrating a User's Mailbox Data

To create a job to migrate Office 365 mailbox data to Mimecast, the following cmdlet syntax is used:

New-SMJob -Source Exchange -SourceInput user@SourceDomain.com -SourceOptions Ex2016 -SourceEwsUrl (Get-SmDefaultO365EwsUrl) -SourceCredential $SrcCreds -Target Mimecast -TargetOutput user@TargetDomain.com -BatchId 1 -Tags "Mailbox Moves"

This cmdlet uses the following parameters:

BatchIdThe BatchId of the Batch controller that will process this job.
TagsWe have specified a tag to give a friendly name to the job being created.
TargetOutputhis is the UPN of the user that we wish to migrate the data to.
TargetWe have chosen Mimecast API for the target technology.
SourceOptionsWe have used UseStream and Ex2010sp2 and the source mailbox is on Microsoft Exchange Server 2010 Service Pack 2.
This is required for support of all message classes, but will soon be deprecated and assumed for all sources of data targeting Exchange.
SourceInputThe UPN of the user mailbox we are migrating from.
SourceThe Source of the data we will be migrating. (e.g. Exchange).
SourceEwsUrlThe Exchange Web Services URL for the Source mailbox.
SourceCredentialThe credentials used for Application Impersonation rights to the source mailbox.


Migrating Multiple User Mailboxes


There are multiple ways to migrate more than one user mailboxes, but the easiest is using a .CSV file with following information enclosed:

… and so on.

On to a script to process all of the users in that CSV.

# get the content of the CSV (Your header columns are as per the above example of SourceMailbox
$users = Import-Csv -Path c:tempusers.csv


#Grab the source and taarget credentials.
$SourceCredentials = Get-Credential -UserName sourcecreds@sourcedomain.com


foreach ($user in $users)
New-SMJob -Source Exchange -SourceInput $($user.SourceMailbox) -SourceOptions Ex2016 -SourceEwsUrl (Get-SmDefaultO365EwsUrl) -SourceCredential $SourceCredentials -Target Mimecast -TargetOutput $($user.SourceMailbox) -BatchId 1 -Tags "Mailbox Moves"

Once you run the above script, it prompts you for the source credentials and creates the jobs. You’re ready to start processing.


Migrating Journal Data

If the data you are migrating to Mimecast is journal data, there is a minor change to the syntax of the cmdlets shown above. With journal data, we aren’t concerned about the folder structure of the messages.

New-SMJob -Source Exchange -SourceInput user@SourceDomain.com -SourceOptions Ex2016 -SourceEwsUrl (Get-SmDefaultO365EwsUrl) -SourceCredential $SrcCreds -Target Mimecast -BatchId 1 -Tags "Journal Migration"

The difference is that there is no requirement to use the -TargetOutput parameter in the cmdlet syntax.

The same process as above applies if you have many journal mailboxes, where this could be scripted from a CSV.


See Also


  • Get-SMBatch
  • New-SMBatch
  • Get-SMConfig
  • Set-SMConfig