In Exchange 2003, IT managers often archived older e-mails as PST files on network shares. Aside from being slow and inefficient, it was tedious to keep track of everybody’s archived files and to make sure that users were not archiving to their local hard disk drives.
Importing PST files can be done using the Outlook client, but this has several drawbacks. The biggest drawback is that you have to log in to each user’s computer, open Outlook and then begin a process that can take a very long time.
Using PowerShell is fast & furious and allows for centralized management of the importation job.
To begin, place your PST files in a shared folder that is accessible from your Exchange server. Open Exchange PowerShell and execute the following commands:
New-ManagementRoleAssignment –role “Mailbox Import Export” –user username
This assigns the necessary role to the users that will import the PSt file. Exit and re-open PowerShell when finished.
Exchange 2010, 2013 PowerShell Maibox Import Commands
New-MailboxImportRequest -Mailbox username -FilePath \\server\pst\filename.pst
This command imports the PST file into the user’s mailbox. Large PST files can fail due to corrupt data on the mailbox.
New-MailboxImportRequest -Mailbox username -FilePath \\server\pst\filename.pst -AcceptLargeDataLoss -BadItemLimit unlimited
This command imports the PST file into the user’s mailbox and bypasses any corrupt items in the mailbox.
Get-MailboxImportRequest | Get-MailboxImportRequestStatistics
This command allow you to view the status of your PST imports.