Monday, March 9, 2015

Importing a PST into an Exchange 2013 mailbox

I recently had to take a PST of recovered data and import it into someones mailbox:

Here is the syntax I used in my Exchange PowerShell session:

New-MailboxImportRequest -FilePath "e:\temp\JohnDoe.pst" -IsArchive -BadItemLimit 10,000 -Name JohnDoeRecovery

Lets break down the non-obvious options.

In my specific example, this injects the items into their Exchange On-Line Archive.

My example was a data recovery exercise, so I expected a lot of corruption, this tells the server to keep going even if it finds a lot of bad items.

This allocates a friendly name to the task that we can use to see progress with this next command:

Get-MailboxImportRequest | Get-MailboxImportRequestStatistics

When everything is completed, you can get a measure of the bad items using the friendly name thus:

Get-MailboxImportRequest -Name JohnDoeRecovery | Get-MailboxImportRequestStatistics | Select FilePath, BadItemsEncountered, OverAllDuration, ItemsTransfered, BytesTransfered



  1. Mick - great read through your blog! One comment on this entry. I believe there is a typo in the last PowerShell command. Should Delect FilePath be Select FilePath?