How to import PST file to Exchange 2013 Mailbox

Importing / Exporting mail data in .pst files may be performed with various 3rd party applications, but IMHO we should always use what’s “inside-of-the-box” if it’s possible. Therefore you should focus on follownig cmdlets:

  • New-MailboxImportRequest
  • NewMailboxExportRequest
  • Get-MailboxImportRequest
  • Get-MailboxExportRequest

Even as an Exchange Admin, shortly you will find out that none of them are available for you. Pitty. I have no idea why they made it this way, but you have to assign your admin account a new role “Mailbox Import Export”. To do so, execute following powershell cmdlet:

Having that done, you must close Exchange Powershell Console and start it anew. Otherwise cmdlets won’t be available. Next, make sure that you know the target mailbox name and it exists (Get-Mailbox); put the .pst file on the network share since we have to use UNC path.

To start a .pst import run following command:

Optionally you may specify -TargetRootFolder where all data should be imported. This will keep affected mailboxes clean. Another option is to specify which folders from the .pst should be imported – this can be done with IncludeFolders parameter.

Data import process will begin and take some time (depending on the data amount). To stay up to date with current status, you may use Get-MailboxImportRequest cmdlet – this will indicate if the job is queued, running or completed.

If you’re interested in completion percentage, you may pipe Get-MailboxImportRequest to Get-MailboxImportRequestStatistics cmdlet.

More details / examples on usage of cmdlets can be found on Microsoft Technet pages:


Leave a Reply