Microsoft Exchange/Office365

How to Import PST file into Exchange Server 2016

Step 1: The first process is to grant the right to import mailboxes to an account in your organization.
In the Exchange Management Shell run the following command.

[PS]C:/>New-ManagementRoleAssignment –Role “Mailbox Import Export” –User Administrator

Note: This is done when the user importing the mailbox is not an administrator.
If you are logged with that user already simply restart your Exchange Management Shell
session to be granted access to the new cmdlets.

Step 2: Creating a Network Share for Mailbox Import in Exchange

we need to create the network share that will be used as the file path for the PST files to be imported.
All that is required here is a network share that the Exchange Trusted Subsystem group has read/write permission to.

Note: Secondly, the mailbox export request is processed by the Client Access server role.
Because multiple Client Access servers can exist in a site the request could be processed by any one of them.
To ensure that the path to the export PST file is valid for any Client Access server it has to be a UNC path to network share, not a local path.

Step 3: Importing a PST File with Exchange server Mailbox Import Request
To import a PST file to a mailbox we use the New-MailboxImportRequest cmdlet

[PS] C:>New-MailboxImportRequest -FilePath esp-ho-ex2010apstalan.reid.pst -Mailbox john.smith

Note: In some cases you might prefer to import the PST file into sub-folder of the mailbox.
You can do this by adding the -TargetRootFolder parameter to the command.

[PS] C:>New-MailboxImportRequest -FilePath esp-ho-ex2010apstalan.reid.pst -Mailbox john.smith -TargetRootFolder “Mailbox – Alan Reid”

The import request will create the target folder and begin importing the PST file contents into it.

Note: To import all of the .pst files on a shared folder. Each .pst file name is named after a corresponding user’s alias.
The command creates an import request for all the .pst files and imports the data into the matching mailbox.

[PS] C:>Dir SERVER01PSTshareRORecovered*.pst | %{ New-MailboxImportRequest -Name RecoveredPST -BatchName Recovered -Mailbox $_.BaseName -FilePath $_.FullName -TargetRootFolder SubFolderInPrimary}

Note:This example imports a recovered .pst file on SERVER01 into the user Ayla’s primary mailbox. Only data in the .pst file’s Inbox is imported. The data is imported into the RecoveredFiles folder of the target mailbox for Ayla.

[PS] C:>New-MailboxImportRequest -Mailbox Ayla -FilePath SERVER01PSTFilesRecovered.pst -TargetRootFolder “RecoveredFiles” -IncludeFolders “#Inbox#”

Note: Click on this  Hyperlink on how to import and export using Exchange Administration Center.

Note: Monitoring the import and export status.
Click on this  Hyperlink on how to monitor the import and export status

Monitoring the import and export status
You can view the status of the mailbox import request using the Get-mailboxImportRequest cmdlet
[PS] C:>Get-MailboxImportRequest

By piping Get-MailboxImportRequest into Get-MailboxImportRequestStatistics you can also monitor the progress of the import
[PS] C:>Get-MailboxImportRequest | Get-MailboxImportRequestStatistics

To see all of the completed mailbox import requests run this command
[PS] C:>Get-MailboxImportRequest | where {$_.status -eq “Completed”}

And to clear all completed mailbox import requests from Exchange run the following command.
[PS] C:>Get-MailboxImportRequest | where {$_.status -eq “Completed”} | Remove-MailboxImportRequest

Also Interested in reading how to import pst files into personal archieve  in exchange click on the link below.

Notify of
Inline Feedbacks
View all comments
Would love your thoughts, please comment.x