Home » Exchange Server » How to Import PST Files into Mailboxes with Exchange 2010 SP1

How to Import PST Files into Mailboxes with Exchange 2010 SP1

In a recent article we looked at how to export mailboxes to PST file with Mailbox Export Requests for Exchange Server 2010 SP1.  In this article we’ll look at the process for importing PST files into mailboxes.

In Exchange Server 2010 SP1 importing PST files into mailboxes is performed using Mailbox Import Requests. These are similar to export requests in that they are processed by a Client Access server.

Because multiple Client Access servers can exist in a site there is no way to determine which one will process the request, therefore the PST file to import must be accessible via the UNC path of shared folder.

The account that is performing the import also needs to be explicitly granted the rights to do so, as no accounts have this right by default (even Organization administrators).

Granting User Rights for Mailbox Imports in Exchange 2010 SP1

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

If you’re logged with that user already simply restart your Exchange Management Shell session to be granted access to the new cmdlets.

Creating a Network Share for Mailbox Imports in Exchange 2010 SP1

Next 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.

Importing a PST File with an Exchange Server SP1 Mailbox Import Request

To import a PST file to a mailbox we use the New-MailboxImportRequest cmdlet.  In this example the PST file alan.reid.pst is being imported into John Smith’s mailbox.

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.

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

You can view the status of the mailbox import request using the Get-MailboxImportRequest cmdlet.

By piping Get-MailboxImportRequest into Get-MailboxImportRequestStatistics you can also monitor the progress of the import.

Importing PST Files into Personal Archives in Exchange Server 2010 SP1

Another way to use mailbox import requests is to import PST files directly into personal archive mailboxes. This is very useful for organizations who want to get rid of all PST files on the network.  All you need to do is add the -IsArchive parameter to the command when importing the PST file to a mailbox user who has been enabled for archiving.

Completing the Mailbox Import Request

When a mailbox import request is completed it remains on the server until it is removed by an administrator using Remove-MailboxImportRequest.

To see all of the completed mailbox import requests run this command.

And to clear all completed mailbox import requests from Exchange run the following command.

Paul is a Microsoft MVP for Office Servers and Services. He works as a consultant, writer, and trainer specializing in Office 365 and Exchange Server. Paul is a co-author of Office 365 for IT Pros and several other books, and is also a Pluralsight author.
Category: Exchange Server

101 comments

  1. Jared says:

    Hi Paul,

    How would I go about diagnosing a failed import? The import runs fine until it gets to 57% and then fails and it would be helpful if there was a log I could view to figure out what exactly happened.

    Thanks!

      • Mustaq says:

        Hi Paul,

        I want to migrate a .pst files from another existing company which is using exchange 2013 standard edition.
        so could you please provide me the step by step guide for this.

        The Whole scenario is below.

        There are 3 small company(Like a, B, and C) whose mailbox is hosting on google.
        now these company gives the support to another company(like “D”) which has own exchange server 2013 standard edition.
        so we have to migrate these three comapany’s mailbox(a, b, and C) to another “D” company.
        so e are thinking that first we make a .pst for this of all three a, b, and c company and then import to newly company “D”.
        So for this we have to point MX record from existing to newly “D” company. and make a database for this. and also assign a email policy aswell for this.
        so please provide me a doc for this or if you have any article for this step by step.

  2. Hi, i get the following message when trying to import an exported ex2007 mailbox, into ex2010 sp1 in hosting mode.
    Object ‘3d9698d3f25d4a4dad22740f22ef1c82gunnar-MailboxImport’ in organization : the linked object of property ‘MailboxMoveTargetUser’ is ‘hosting.local/Microsoft Exchange Hosted Organizations/site1/gunnar test’, which doesn’t exist in the same organization with the object.
    + CategoryInfo : NotSpecified: (0:Int32) [New-MailboxImportRequest], DataValidationException
    + FullyQualifiedErrorId : 5B85B487,Microsoft.Exchange.Management.RecipientTasks.NewMailboxImportRequest

    Any ideas?

  3. Wise Brown says:

    Hi Paul,

    Thanks for sharing this useful post. It is really a very helpful feature for Exchange administrators. Now they do not need to go for MS Outlook and can directly import the data into Mailbox.

    Brown

  4. Michael says:

    I have calendar items to import to multible mailboxes. (Work Holidays)
    Have exported already and works with individual mailboxes but I need to import to 400 mailboxes. Is there a group, database or mailbox server command I can add.

  5. SAT says:

    I found out the hard way that OWA does not display Contacts or Calendars if you have imported from a PST into an Online Archive after migration. We just did Notes to Exchange migration, where every Notes mailbox was exported first to PST, then ingested to an Online Archive. All users are to be using OWA and not the full Outlook Client. So no Contacts and no Calendars in OWA.

    We’re having login to 250 Outlook clients manually tonight and drag and drop Contacts from Online Archive to Main Mailbox.

    I just started 10 of them and will be up all night :(….know of a quicker way to copy Contacts from Onlline Archive to Main Mailbox????

    Others beware….cheers

  6. Brian says:

    Hi Paul,

    Nice article, thank you!

    One question – imported mail seems to have the date / time of import as the Sent date for example, in both OWA and Outlook. If you actually open a mail item the correct dates are shown, but when you’re looking at the list of imported items everything is listed by import date. Any solution to this?

    Cheers,
    Brian

    • Hi Brian, which version of Outlook?

      I’ve just exported an Exchange 2010 mailbox to PST, then imported it to another 2010 mailbox, and looked at the result in Outlook 2007. The “Received” column shows the correct date the email was received. The “Created” column shows today’s date only.

  7. Ann says:

    Hi Paul,

    We need to import several psts into a mailbox using a script that creates subfolders to store each pst but some are not working we get Error: Mailbox folder hierarchy is inconsistent. / FolderHierarchyIsInconsistentPermanentException. Any idea how to fix this o be able to import the file?
    Exchange 2010

    Thanks!

  8. Tim Miller says:

    Can you tell me how I would use -TargetRootFolder to specify something deeper than one level? InboxSubfolderAnotherSubfolder?

    Thanks for the article. I refer to it regularly.

  9. vakhtang says:

    when i try export PST file to Exchange server 2010

    by this command:

    New-MailboxImportRequest -FilePath “\fs01\test@carservice.ge.pst” -Mailbox carservice

    Unable to open PST file ‘\fs01\test@carservice.ge.pst’. Error details: Access to the path ‘\fs01\test@carservice.ge.pst’ is denied.
    + CategoryInfo : NotSpecified: (0:Int32) [New-MailboxImportRequest], RemotePermanentException
    + FullyQualifiedErrorId : 9F6BF012,Microsoft.Exchange.Management.RecipientTasks.NewMailboxImportRequest

    this account have FULL ACCESS to this folder, please help me 🙁

  10. Oliver Shelton says:

    Hi Paul

    I’m importing from a pst created in Outlook 2007 where all mail is delivered to a pst file into our
    new exchange 2010 server.

    Using the command New-MailboxImportRequest -mailbox oliver -filepath \freenastmpoliver.pst
    The import completes successfully and looking at the Get-MailboxImportRequestStatistics I can see all of the subfolders of the Inbox being imported. However, when I fire up outlook 2010 I cant see any subfolders of the
    Inbox, and no emails within inbox too. The sent, deleted, drafts, contact, calendar are all appearing ok.

    There doesnt seem to be any sync issues and outlook says All folders are up to date and Connected to Microsoft Exchange. On properties of Inbox, the folder size – local data zero, on the server its near 1GB with all of the subfolders showing.

    Any ideas? Thanks.

  11. Nino Iaccarino says:

    Hi Paul,

    Thanks for your help with your articles. I quite often use your site as a reference….

    I have a question, I setup 2010 exchange, migrated IT dept to 2010, tested for a few weeks, imported our psts into our new archive db, no worries.

    Now that we have done the migration, i have just done a new import to a users archive db using the -IsArchive switch form pst. it completed 100%, but the mail still hasn’t shown up in the archive db in either outlook or webmail.

    Is there any post processing after this is completed do you know? Ours (IT Dept) showed up relatively quickly i think, but to be honest, i am not sure i checked it immediately with ours. It was just there when we checked.

    Is there a way to gather statistics of the personal archive db of mail storage ?

    Thanks !

    • Nino Iaccarino says:

      Please disregard my earlier post. I was taking a colleagues “word” for “the mail is not appearing”… it is appearing of course.. Thank you !

  12. Jim M. says:

    Hi Paul,

    This article would appear to be a manual process to import each PST. We have around 700 PST’s consuming around 500GB on our fileserver, and that’s not even accounting for PST’s which may be (properly) stored locally. We also have a department which began storing the messages individually as .msg to bypass their mailbox quotas. What automation tools exist to ease the burden of importing all of these PST’s and .msg files into archive mailboxes on Exchange 2010 SP2?

    Also, we are considering switching from locally hosted to Exchange Online for cost savings; how would the procedure work if we already were using Exchange Online?

    Thanks for your help!

    Jim

  13. Jim M. says:

    I spoke with C2C regarding their PST Enterprise product and it seems well designed. But they want ~$8 per (active & inactive) mailbox, ~$2 per (active + inactive) mailbox first year maintenance, and ~$800 for implementation assistance. That’s almost $18K for us for a one-time project, which seems unreasonable considering we’d be paying for the ability for all mailboxes to be supported when it’s likely only 1/7-1/8th of those mailboxes have PST’s.

  14. Nino Iaccarino says:

    Hi Paul,

    I am stil struggling with how to import multiple .PST files into an Archive DB. I have a question open on TechNet and I am trying to get the final working command together but I thought I would ask you also.

    First, I set the filepath with the following – $filepath=\serveroutlook psts”
    Second, I load the items into $items with the following – $items=Get-Childitem -path $filepath -filter *.pst

    Then, I am stuck. I should then be able to use those variables with the New-MailboxImportRequest command, but I cant grasp it. I am so close, yet so far away. Think I need to go on a Powershell Course to master the basic fundamentals.

    Cheers!

      • Nino Iaccarino says:

        Hi Paul, thanks for your quick reply. I have come across that command actually but I have a problem where the .pst files are not named after the user and are simply archive.pst or archive1.pst

        I have one user for example and she has 20 different .pst files named all different names. Unfortunately I am not in a perfect world scenario. I wish I was!! Hehe

        I would just like to specify a path, and specify a mailbox for it to import too. This is what I am finding very difficult to find info on especially when I am not a powershell expert :/ Surely there is a simple way to do this given how powerful powershell is?

      • Nino Iaccarino says:

        Hi Paul,

        With the help from Evan on the TechNet forums, I managed to get the command I was after and thought I should share it here. To import *pst files located in a directory directly into an Archive DB you can use the following command.

        $filepath=”\servername.domain.comPstfolder”
        $items=get-childitem -path $filepath
        foreach($item in $items){
        $location=$filepath+””+$item.Name
        New-MailboxImportRequest -mailbox username -isarchive -filepath $location}

        Cheers and thanks for your help !

  15. Michael Beaucourt says:

    Hi all,

    I am using New-MailboxImportRequest to import 70 GB of mailboxes (about 40 mailboxes). I run a powershell script with around 40 lines of New-MailboxImportRequest . THe server start importing the mailboxes but also start consuming ALL available free memory. The server becomes very slow because all memory gets used. The import will finish after 14 hours but in the meantime the server is unusable. I presume this is some kind of memory leak. Any idea how to solve this problem? I am still in a test phase so not in production yet. Any suggestions would be really appreciated.

    Thanks.

    Michael

  16. Ed says:

    First, I find your site is the number one go-to site for Exchange knowledge. Thanks for taking the time to do this.

    Second, can I get a little more detail on how the New-MailboxImportRequest works? Specifically, we know that it is the CAS server that handles MAPI requests. So does this command use MAPI to import the PSTs, and if so, is there a way to specify which CAS you want the command to use for the import? If not, how does the command know which CAS to use?

    Thanks

  17. Arif says:

    Thanks for your article, but I have one question, regarding New-MailboxImportRequest

    1. I have import a pst file to a mailbox successfuly on day 1st.
    2. on day 2nd i recreate the pst file using startdate and enddate filter, so if i import again it to the user mailbox will it delete the old mailbox record, or update it with the last pst items content.

    e.g:
    User mailbox 1st import from pst file .. Items in inbox was 230
    Again export the usermailbox from 2007 exchange with startdate and enddate filter to create pst file,

    if again i import this pst file to that specific mailbox with was done a day before with inbox item 230, will that mailbox item will be updated let suppose from 230 to 250 , if the last pst file contain only 20 inbox item.

    • You’re asking if importing a second PST file will completely wipe out the items that are already in the mailbox?

      No it won’t.

      However… “By default, the import checks for duplication of items and doesn’t copy the data from the .pst file into the mailbox or archive if a matching item exists in the target mailbox or target archive.”

  18. Surtep says:

    Hello,

    How can I import Item in PST’s subfolder into ‘Inbox’ folder ?
    All Item are in differents Subfolders, and I want to import them on one and unique mailbox folder.

    • Surtep says:

      Thanks for this post.

      About my question, ‘how to import all mail from PST in unique mailbox-folder’, I found another solution.
      In fact, I’m using mail archiver Appliance, I setup this Appliance to parse all mailbox’s folders and it ran.
      So, in my Appliance, I’ve got all mail from all folders.

  19. Craig B says:

    Hi

    Great article, very helpful, however, I have a problem – after importing .psts from accounts of an old domain I have users who get bouncebacks from internal users even though the address exists. It seems to be that the legacy email address is recognised rather than the new address – the emai addresses are EXACTLY the same, but there seems to be some AD information behind it causing issues. If I select the user from the GAL it works fine, but if i type it in it fails.

    Has anyone else seen this problem, and does anyone know a resolution?

  20. Gaeth C says:

    I ran “New-MailboxImportRequest -Mailbox “me” -FilePath “\pathfile.pst” and then noticed the permissions set on Inbox, Contacts and Calendar have all be wiped (or probably set to the same as the pst had).
    I found this http://support.microsoft.com/kb/2783959 that confirms this happens, has no one else experienced it?
    I’ve tried adding “-TargetRootFolder Inbox/pst”, that works and doesn’t change the permissions but it also includes other folders like Delete Items, Drafts etc, we only want the inbox and do want it merged in with the users existing inbox. Any ideas for that?

  21. DLBarton says:

    Hi Paul

    Is it possible to import pst files into another PST file rather than the users mailbox or archive?

    We have migrated from Notes to Exchange and team archives have spilt into multiple smaller .pst files which we don’t want to store on the server.

  22. Felix says:

    thanks for this paul. i am getting stuck somewhere though. when running the command New-MailboxImportRequest i keep getting the error New-MailboxImportRequest’ is not recognized as the name of a cmdlet, function, script file, or operable program.
    How do you resove this in Exchange 2010 powershell?

  23. Brent says:

    Does anyone know when importing PSTs if it will replace existing items?

    My task is to move a bunch of users and I want to do it in 2 operations. The first one is the most of the data a few weeks before the move and then the second the day of the move? Will the import-pst only process new items?

  24. Brian M says:

    Thanks for this life saving article… I say life saving because I deleted an AD account and it also wiped the user’s mailbox. This account contained 10 yrs worth of mail which I was able to recover. Using the .ost file and a 3rd party utility I was able to make a .pst file and using your article import it into Exchange.
    Unfortunately all calendar entries have bogus dates which makes them useless and contacts did not import at all.

    Is this an issue with the import procedure or should I look to my .ost to .pst conversion?

  25. Brian M says:

    Hmm, it didn’t show a disconnected mailbox for this user within the Exchange Mgmt Console when I realized I deleted it but now it does.

    Do you think I should delete the mailbox I’m currently trying to restore since the 6gb of mail did restore from the .ost? Will it create duplicate mails when I reconnect the mailbox?

    Thanks for the revelation… hope it works!!

    • Brian M says:

      Thanks again Paul!! I deleted the mailbox I was trying to restore and then connected the disabled mailbox using the connect-mailbox cmd and using the mailboxGuid to discern between the original mailbox and the one I just deleted.

      It is syncing to the server now and I have calendar and contacts.

      I effing love you, man!!

  26. Norman Moy says:

    I would like to know if anyone has been able to use this command across domains within a forest? I have the CAS server in the top level domain and the users are in a subdomain under it. When I use the commands to import, it fails stating that it cannot find the object on the current DC server. This is true as the users are listed on the DC in the subdomain and not this one. Anyone know how to get around this?

  27. Chris Horner says:

    Hi Paul,

    Great site, my number 1 go to for Exchange knowledge.

    Very simple question, does the .pst first need to be disconnected within Outlook for this to work?

    Thanks,
    Chris

  28. David Carmack says:

    Thanks for the post. I’m trying to import a .pst file from an archive folder on the mail server to a user’s mailbox but I don’t want the email removed from the archive file. Does this command remove the .pst and its email from the mail server? The user just needs to have access to the archived email somehow.

  29. Kristine says:

    Scenerio: Company A acquired Company B. Company A needs to migrate Company B’s mailboxes from Company B’s Exchange server to Company A’s Exchange Server. Company A want to try the export/import process.

    Export the mailboxes from Company B’s Exchange server to a pst file.
    Importthe pst into the users new mailbox on Company A’s Exchange server.

    Question: Will there be any issues with replying to or accessing the imported email from Company B’s Exchange server (NDRs)? I read an article some where about needing to create an x500 address in the new mailbox for the old LegacyExchangeDN. Wanted to know if you had any experience with this.

  30. Asif says:

    Hello I have few disconnected mailboxes, I need to export .pst file for disconnected mailbox. Please guide me the command to execute.

    Thanks,

  31. Muneer says:

    In the same way can I take Exchange 2003 mailbox PST file and import to Exchange 2016??

    Because I am migrating Exchange server 2003 to 2016. Kindly help.

  32. john says:

    Hello

    One Question

    When the Exchange is stopped after an import request and we had it to shutdown …

    Does Exchange handle this properly ? or could it be that sth. is damaged

    regards john

  33. Pete says:

    Hi Paul,

    Thanks for this article – I find all of your articles very helpful and find myself spending an unhealthy amount of time on exchangeserverpro these days 🙂

    Quick question if you don’t mind – What happens to calendar items if you specify the target root folder to import the .pst into?

    i.e. I’ve imported a test mailbox (containing only 2 items in the inbox) into my own mailbox using the -TargetRootFolder parameter, and I see the folder name I specified containing all the imported mailbox subfolders (Inbox, Sent Items, Drafts, etc.), but I see no separate calendar or calendar folder anywhere – Would any calendar items in the .pst have been imported directly into my own calendar?

    So there would be no way of separating out any imported calendar items for review? They will instead just appear chronologically and indistuingishably amongst my actual calendar items?

    Many thanks!

    Pete

    • Pete, the best way to answer unknowns is to set up a test and observe the results. In this case you would need to generate a PST that you know includes calendar items, then run imports into a test mailbox or your own mailbox and see where the known calendar items end up.

Leave a Reply

Your email address will not be published. Required fields are marked *