Often the easiest way to get a PST file into the Exchange Server is simply to attach at to an Outlook client and drag/drop the mail into mailbox. However this is not always effective, especially when you have a few hundred to import, or you want more granular control over what is happening. By placing the PST file on the Server and importing directly is a relatively easy task.
Unfortunately this does not work on Office 365. 🙁
Supposing that the file was located at e:\PSTimport\JoeUser.PST and you needed to import it into the Mailbox for ‘Joe User’, you would use the following command.
New-MailboxImportRequest -Mailbox JoeUser@domain.com -FilePath \\EXCH01\e$\PSTimport\JoeUser.PST -TargetRootFolder /
The options of ‘TargetRootFolder’ is an interesting one, as by specifying a different location you can create a subfolder in the mailbox. This is handy if the archive PST is for an employee that has left, for example, and rather than giving rights to that users mailbox it was decided that a subfolder in another users mailbox was a good place to keep it.
New-MailboxImportRequest -Mailbox BoBUser@domain.com -FilePath \\EXCH01\e$\PSTimport\JoeUser.PST -TargetRootFolder:”Archive – Joe User”
These all run in the background on the Exchange Server, so it may take a few minutes depending on the size. You can keep track of the progress using this command
Get-MailboxImportRequest | ft
to display the status of all the imports that are running.