Exchange Server 2010 Service Pack 1 introduced a new method for exporting mailboxes called Mailbox Export Requests.  This new method replaces the previous Export-Mailbox command.

Before we look at how to create a new mailbox export request in Exchange 2010 SP1 there are a few things that you should understand.

Firstly, no accounts are granted the rights to export mailboxes by default.  You need to explicitly grant these rights, even to accounts that are organization administrators.

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.

Granting User Rights for Mailbox Exports in Exchange 2010 SP1

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

New-ManagementRoleAssignment –Role "Mailbox Import Export" –User Administrator

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 Exports in Exchange 2010 SP1

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

How to Export Mailboxes with Exchange Server 2010 SP1

Exporting a Mailbox with an Exchange Server SP1 Mailbox Export Request

With everything configured properly we can now use New-MailboxExportRequest to start the mailbox export.  The only two required parameters for the command are the file path to the export PST file, and the name of the mailbox to export.

[PS] C:\>New-MailboxExportRequest -Mailbox alan.reid -FilePath \esp-ho-ex2010apstalan.reid.pst

Name                                           Mailbox                                        Status
----                                           -------                                        ------
MailboxExport                                  exchangeserverpro.net/Company/Users/Head Of... Queued

To view the status of the request use the Get-MailboxExportRequest cmdlet.

[PS] C:\>Get-MailboxExportRequest

Name                                           Mailbox                                        Status
----                                           -------                                        ------
MailboxExport                                  exchangeserverpro.net/Company/Users/Head Of... InProgress

You can also see more detail about the mailbox export request with Get-MailboxExportRequest.

[PS] C:\>Get-MailboxExportRequest -Name MailboxExport | fl

RunspaceId     : c48a9069-e572-4c65-80ea-773e61e5337e
FilePath       : \esp-ho-ex2010apstalan.reid.pst
SourceDatabase : MB-HO-01
Mailbox        : exchangeserverpro.net/Company/Users/Head Office/Alan.Reid
Name           : MailboxExport
RequestGuid    : 9de3a722-0c82-4e34-98bf-0ff624c47c16
RequestQueue   : MB-HO-01
Flags          : IntraOrg, Push
BatchName      :
Status         : InProgress
Protect        : False
Suspend        : False
Direction      : Push
RequestStyle   : IntraOrg
OrganizationId :
Identity       : exchangeserverpro.net/Company/Users/Head Office/Alan.ReidMailboxExport
IsValid        : True

An easy way to see the progress of all mailbox export requests is to pipe Get-MailboxExportRequest into the Get-MailboxExportRequestStatistics cmdlet.

[PS] C:\>Get-MailboxExportRequest | Get-MailboxExportRequestStatistics

Name                                   Status                    SourceAlias                           PercentComplete
----                                   ------                    -----------                           ---------------
MailboxExport                          InProgress                Alan.Reid                             20

Exporting an Archive Mailbox with Exchange Server SP1 Mailbox Export Request

You can also export a user’s Personal Archive using mailbox export requests simply by adding the -IsArchive parameter to the command.

[PS] C:\>New-MailboxExportRequest -Mailbox alan.reid -FilePath \esp-ho-ex2010apstalan.reid.pst -IsArchive

Completing the Mailbox Export Request

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

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

[PS] C:\>Get-MailboxExportRequest | where {$_.status -eq "Completed"}

Name                                           Mailbox                                        Status
----                                           -------                                        ------
MailboxExport                                  exchangeserverpro.net/Company/Users/Head Of... Completed

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

[PS] C:\>Get-MailboxExportRequest | where {$_.status -eq "Completed"} | Remove-MailboxExportRequest

About the Author

Paul Cunningham

Paul is a former Microsoft MVP for Office Apps and Services. He works as a consultant, writer, and trainer specializing in Office 365 and Exchange Server. Paul no longer writes for Practical365.com.

Comments

  1. francesco

    hi,

    is possible to export pst with the email address an not with the uid of the organization? i migrating in a new server

    for example

    IMCEAEX-_O=FIRST+20ORGANIZATION_OU=EXCHANGE+20ADMINISTRATIVE+20GROUP+20+28FYDIBOHF23SPDLT+29_CN=RECIPIENTS_CN=Centralinoc78@domain.local
    #550 5.1.1 RESOLVER.ADR.ExRecipNotFound; not found

    i want the message exported as xxxx@domain.extension

    thank you

  2. mushfiqul

    Dear Paul Cunningham Sir,
    I have an exchange 2016 environment in where I have added 5 UPN suffixes. Now I want to separate CEP according to domain so that admin of a domain can see his own domain users and groups. I have tried it using RBAC write scope based on OU but when admin login his ecp, he can see all users and groups. How is it possible to separate that ? Please help me.

  3. Georgia Jaeger

    Thanks for the posting. Your instructions worked very well for me.

    GJ

  4. Jim Satterfield

    When I use the ContentFilter setting to export only emails from the last week or so does it capture all changes like messages being moved to a different folder or new folders from that date range?

    1. Avatar photo
      Paul Cunningham

      I don’t really understand your question, but it sounds like something you could pretty quickly test.

  5. Jim Blunt

    Actually, let ME clarify a little bit. The first site listed above believes that the “-MRSServer” switch will let you specify a particular CAS server to use for a mailbox export request.

    The TechNet site doesn’t list that switch in the available switches for that command.

    What I’m looking for, is a way to specify which server(s) NOT to use.

    Thanks again,

    Jim

    1. Avatar photo
      Paul Cunningham

      That switch is not available for Exchange 2016, which is the only version I have available to check. AFAIK there’s no way to specify or exclude a server from processing an export request.

  6. Jim Blunt

    Hey Paul…I have a question.

    I’m trying to exclude one or two CAS servers from a Mailbox Export Request.

    This site:
    https://social.technet.microsoft.com/Forums/exchange/en-US/30404f93-3000-40bf-be25-6e09d1f04f85/how-to-use-specific-client-access-server-for-export-import-mailbox-pst-operation-tasks?forum=exchange2010
    seems to believe it’s possible with the use of this switch “-MRSServer ” to accomplish this.

    However, this site:
    https://technet.microsoft.com/en-us/library/ff607299(v=exchg.160).aspx
    doesn’t make any mention of that switch.

    Can you clarify and tell me if there is any way to do what I am asking?

    Thanks in advance,

    Jim

  7. Gerard

    Many people seem to find it difficult to schedule the export mailbox task.
    I did all the stuff i found as a tip several sites ( executionpolicy, new-mgmt role assignment, run the command directly from the commandline etc).

    The taskscheduler says it executed suc6fully, but no files appear in my folders, however when executing the export from the exchange mngmt shell it does work perfectly.
    So i still have trouble getting this automated, do you have a good walkthrough on to get the mailbox export in a scheduled task ?

    Kind Regards
    Gerard

    1. Avatar photo
      Paul Cunningham

      What is the scenario you’re looking at? What are you trying to achieve? Running PowerShell commands as a scheduled task is simple enough but perhaps there’s something about your situation that isn’t obvious to me.

  8. Ozz

    First of all thanks for the command and all the details posted.
    1- I have a number of failed as well as a number of completed mailboxes. Somewhere along the way here I read about the -BadItemLimit parameter but have not been able to figure out how to use it.

    2- for the people having issues with error ‘Couldn’t connect to the source mailbox.’
    I have successfully managed to connect to the mailbox on OWA and that allowed me to continue the export.

  9. bonesleon

    Paul!

    So.. I followed these instructions because I thought it would be better to export a pst for a user and then upload it to office 365 instead of just giving myself full permissions and doing it via outlook… clearly didn’t think it through. Especially since it was a small mailbox.

    Long story short, I granted myself the ManagementAssignmentRole to export the pst… and I would like to remove it. I figured I should do the following so i used a -whatIf

    Get-ManagementRoleAssignment -RoleAssignee myself -Role “Mailbox Import Export” | Remove-ManagementRoleAssignment -WhatIf

    and it threw red stating the import export org management delegating management role assignment can’t be disabled or remove from the org management management role group because doing so would prevent the entire org from managing the mailbox import export management role…

    So my question is…. how do I remove the assignment from myself without breaking permissions for others? When I ran

    Get-ManagementRoleAssignment -Role “Mailbox Import Export” | fl RoleAssigneeName

    it returned two instances of Org Management and one Security group… and then of course… myself -____- (I’m the last in the list)

    How big of a boo boo is this? Please help!

    1. Avatar photo
      Paul Cunningham

      Don’t do it as a pipeline command. Just use Remove-ManagementRoleAssignment with the appropriate parameters (refer to TechNet doco) without piping the Get- command into it.

  10. Chenny

    Great post!

  11. tC tHE tECH

    Thank you very much for this guide!

  12. Joseph

    Hello,
    I recently restored a server which hosted the AD and exchange… The exchange files were all on a separate drive (D). I backed up the D drive as is before doing the full restore of the system. On full restore, I have a server with exchange database that has mails dating up to the time I ran the backup. My question is, how can I read from the D drive backup which holds the latest emails instead of the recovered D drive that has old mails. I am using exch2010sp1. Thanks

    1. Avatar photo
      Paul Cunningham

      If you have a copy of a mailbox database that you’ve restored from backup you can mount it as a recovery database to restore data from it.

  13. Hans

    Hi Everyone

    I am trying to shrink a couple of really large exchange mailboxes using the New-MailboxExportRequest with a content filter and a date range. From what i understand this command only makes a copy of the mailbox items to a pst file. Is there a switch or something to specify that the mail should be moved and not copied or some totally different command to do this? i don’t want to use outlook archiving.

    thanks.

  14. Huseyn

    Perfect! Thank you for your helpful article

  15. Ali

    Hi,

    Thank you so much for the perfect and useful post,
    I’m trying to export part of the mailboxes based on the date, it finishes successfully but when i mount the PST file i figure out that many emails are missing specially when they are in folders.
    This is a script i use:

    New-MailboxExportRequest -ContentFilter {(Received -lt ’01/01/2014′) -and (Received -gt ’01/01/1900′)} -Mailbox “username” -Name usertopst -FilePath \xxxxxxxx

  16. Gavin

    This doesn’t work if you are using any other regional date format than the US format. In other words, this information is only useful in the US. I have tested this. I have tried setting the computer region to US and it still doesn’t work. It is probably to do with the internally stored date format. It surprises me that Microsoft don’t use ISO date format for all data storage. I have found this before with T-SQL, so it doesn’t surprise me.

  17. Gavin

    Hi Paul,

    Thanks for the great information. I have a particular request. I have a client that wants to archive email older than 2015. So, export to .PST and then remove the older emails from their current mailboxes in Exchange 2010. (SBS 2011). With 14 mailboxes, I could probably just go around each machine, but it would be nicer to use a powershell command to do this. What you have supplied and other information that I have would do the export nicely. The part that I have a question with is removing the older emails from the existing mailboxes. Any ideas?

  18. Stome007

    Dear Pual,

    Suppose my old database mailbox (ex: Finance Database) got a big size. All user using MS Outlook download to their local computer already. My question is how to clean database mailbox or have another way to export only user in the old database then import to new database mailbox that we just create please?

    Regard,
    Stome007

    1. Avatar photo
      Paul Cunningham

      I’m not sure I understand your situation. If you want to move mailboxes from one database to another you just use mailbox move requests. You don’t need to export and import them.

      1. Stome007

        Dear Paul,

        Yes, we can move mailboxes to another database but it along with also attachment and mail data, so in this case our new database will remain a big size. My purpose is just want move only user information not data or attachment file in the user mailbox.

        Thanks

        1. Avatar photo
          Paul Cunningham

          I think you’re misunderstanding the situation then. User information (attributes such as name, email address, etc) are stored in Active Directory.

          The Exchange database stores the mailbox items. There’s no moving of “user information” to another database.

          1. Stome007

            Dear Paul,

            Thanks for your reply and well noted.

  19. veljko grubacic

    Very nice explained. Thanks Paul

  20. Dariusvw

    Hi Paul

    I am looking for a way to move all the mail from user 1’s account to user 2’s account.
    User 1 has left the Organisation, but was part way through organizing a few events.

    We are using Exchange 2014 Version 14.02.0387.000
    Even if all you can do is point me in the right direction as to what the process/command is called.

    Thanks

    1. Dariusvw

      That is supposed to read as Exchange 2010.
      sorry

    2. Avatar photo
      Paul Cunningham

      I would just grant User2 full mailbox access for User1 so they can handle any correspondence that continues to be received.

  21. Christian Beauregard

    I Know this is an old post but seems like one thing was missing from this and it’s user permission.

    you cannot grant yourself the “Mailbox export import role” through powershell (did not work for me) but you can add it to your AD account + the share needs to have the Exchange trusted subsystem.

    Only then will this command works flawlessly

    1. Avatar photo
      Paul Cunningham

      You can grant yourself the permissions, or if you don’t have high enough privileges in the Exchange org to do it then another admin who does can do it for you.

      The permissions on the file share is covered in the article already.

  22. Chris Bergman

    Hi Paul,

    Excellent article. This was very helpful with pulling mailboxes of terminated users for archive purposes.

  23. Adrian Farrugia

    Hi,

    Does this command backup the contacts and calender as well?
    New-MailboxExportRequest -Mailbox ‘xxxxx’ -FilePath ‘D:backupxxxx.pst’

    Thanks.

  24. justin

    Hi there

    I was wanting to export an entire mail database, your excellent tutorial only mentions how to do single mailboxes, could I ask you share how to export all mailboxes from a specific mail database .

    thanks

  25. Jorel

    Paul,

    Thanks for your help! I found out that there were corrupt items within the mailbox and added the -BadItemLimit parameter to the syntax I was using.

    Really appreciate your time to read and reply.

    Have a great day!

  26. Jorel

    I am able to execute the mailboxexportrequest and the status is “In Progress” until the pst file reaches around 2GB, it then stops and the status turns to “Failed”. I’d like to know if there’s a way I’d be able to see what may be causing the process to stop.

    here is the command that I am using and have worked for all the rest of my exports:

    New-MailboxExportRequest -Name “Jorel” -Mailbox JSV -FilePath “\servershare$Jorel_export.pst”

    Thank you,

    1. Avatar photo
      Paul Cunningham

      Use Get-MailboxExportRequestStatistics to look for more information.

  27. Craig

    Thank you Paul for this write up. It was easy to follow and worked great.

  28. Prineel

    Worked great, excellent tutorial!

  29. Obi Ejiofor

    Can you export psts from a dismounted database ?

  30. John

    Paul – Quick question. If the PST are large like 10gb or more.. that is OK right? I am trying to answer the question if the PST’s are larger than 2Gb will they be 100% working PST files that you can open in outlook 2007 or newer versions of outlook. I see all kinds of articles saying you need 64 bit version of Outlook installed on a PC with power shell and only if exported from that machine are those PST’s good if larger then 2gb.

    1. Avatar photo
      Paul Cunningham

      You don’t need Outlook installed. I’ve exported large mailboxes to PST (10-15Gb) and not had issues opening them.

  31. Adriano Mendes

    Paul,

    Good morning! I Googled you page and I think you could help me a bit. I’m trying to create a batch file to:
    1-export the PST file from Exchange server
    2-return when the export is finished
    3-create a folder
    4-move the PST file to this folder

    So I created a batch file called EXP_PST.BAT. If I type inside powershell this command, it runs fine but it seems that I can’t run a .BAT inside Exchange Power Shell. How do I do that?

    This is the batch file:
    @echo off
    @echo Exporting user PST
    New-MailboxExportRequest -Mailbox %1% -FilePath \W2K8AMERMAIL1EXP_PST%1%.pst
    Get-MailboxExportRequest | Get-MailboxExportRequestStatistics
    pause
    @echo Creating user folder…
    md \csmrionetapp2datatiUser_Backup%1%
    @echo Moving PST file to folder…
    move \W2K8AMERMAIL1EXP_PST%1%.pst \csmrionetapp2datatiUser_Backup%1%%1%.pst
    @echo Exportation finished !

    I’m receiving some errors like:
    The term ‘exp_pst.bat’ is not recognized as the name of a cmdlet, function, script file, or operable program. Check the
    spelling of the name, or if a path was included, verify that the path is correct and try again.
    At line:1 char:12
    + exp_pst.bat <<<<
    + CategoryInfo : ObjectNotFound: (exp_pst.bat:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

    1. Avatar photo
      Paul Cunningham

      PowerShell scripts have a .ps1 extension, not .bat.

      You’ve jumbled in bat/cmd command and PowerShell commands there, that won’t work. If you want to run the whole thing as a PowerShell script you’ll just need to research the PowerShell commands to replace the bat/cmd commands there, eg md, pause, echo.

      1. Adriano Mendes

        Thanks Paul!!! 🙂

  32. jon miller

    I have multiple databases and I want to export a mailbox for a single user in another database.
    by default new-mailboxexportrequest uses the main database (Mailbox Database 2098600682) , however there are 2 other databases (Mailbox DFMail & Mailbox Database FMail 2).
    All I want to do is export a mailbox from “Mailbox Database FMail 2”.

    How would I construct this? Using the parameter -database “Mailbox Database FMail 2” does not work.

    Thanks…

    1. Avatar photo
      Paul Cunningham

      Mailbox export requests target mailboxes, not databases. Look at the examples in the article, they show examples of exporting a mailbox.

  33. Roxanne

    Hi Paul, thank you for the excellent and informative post. Your articles have helped me a zillion times already.

    I just wanted to mention that, to filter requests by status, I used simply:

    Get-MailboxExportRequest -Status Queued

    and it worked fine.

  34. Prabhat

    Is there any Emerge command to backup and restore.

  35. Prabhat

    I want to export all mailboxes in PST files upto specified end date.

    Can you help into this with command line!

  36. Harry

    foreach ($i in (Get-Mailbox -database TSXLABMBX1-DB1)) {New-MailboxExportRequest -Mailbox $i -ContentFilter ((Received -lt “04/15/2014″ -or (Sent -lt “04/15/2014″)) -FilePath “\tsxlabmbx-2pst$($i.Alias).pst” }
    You must provide a value expression on the right-hand side of the ‘-f’ operator.
    At line:1 char:169
    + foreach ($i in (Get-Mailbox -database TSXLABMBX1-DB1)) {New-MailboxExportRequest -Mailbox $i -ContentFilter ((Receive
    d -lt “04/15/2014″ -or (Sent -lt “04/15/2014″)) -F <<<

    Did I miss any thing?

    note: if I removed -ContentFilter ((Received -lt “04/15/2014″ -or (Sent -lt “04/15/2014″))

    it works fine. however, I do need end date but no start data

  37. Harry

    Hi Paul, thanks for great. I tried to extract all mailboxes on particular DB to pst files. here is cmdlet I used and got following errors:

    [PS] C:Windowssystem32>foreach ($i in (Get-Mailbox -database TSXLABMBX1-DB1)) {New-MailboxExportRequest -Mailbox $i -C
    ontentFilter ((Received -lt “04/15/2014” -or (Sent -lt “04/15/2014”)) -FilePath “\tsxlabmbx-2pst$($i.Alias).pst” }
    You must provide a value expression on the right-hand side of the ‘-f’ operator.
    At line:1 char:169
    + foreach ($i in (Get-Mailbox -database TSXLABMBX1-DB1)) {New-MailboxExportRequest -Mailbox $i -ContentFilter ((Receive
    d -lt “04/15/2014” -or (Sent -lt “04/15/2014”)) -F <<<

    Did I miss any thing?

    note: if I removed -ContentFilter ((Received -lt “04/15/2014” -or (Sent -lt “04/15/2014”))

    it works fine. however, I do need end date but no start data

    1. Avatar photo
      Paul Cunningham

      Looks like you haven’t closed parentheses properly on the content filter conditions.

  38. Chadd M

    Great write up, it was very clear and helpful. Thank you.

  39. Efrain

    Hi Paul!
    great article!
    I need to delete mails from the sent items on a specific mailbox on a date range. do you know of a way how?
    In Exchange 2007 there was an Export-Mailbox command and had the start date end date parameters but that doesn’t seem to work with 2010.

    Any pointers will be appreciated.

    Cheers!

  40. Patrik J

    Hi Exchange pro 🙂
    Senario.
    We deleted mailbox. Created a new mailbox with same name. Now we need to export the deleted mailbox to a pst file.
    When I run New-MailboxExportRequest -Mailbox “USER” -FilePath \exch1ExchangeExportPSTUSER.pst Exchange export the new mailbox. How do I export the deleted mailbox? I can see the old mailbox when I run Get-MailboxDatabase | Get-MailboxStatistics | where {$_.DisconnectReason -ne $null} | ft displayname,database,disconnectreason

    /PJ

      1. Patrik J

        Hi
        Thanks it worked! 🙂

  41. Tony E.

    I wanted to see if someone could clarify a question I have. When running the New-MailboxExportRequest does this only create a copy of the person’s mailbox or does this in fact move the items to the PST file. I did notice that the TechNet page mentions being able to run multiple instances on the same inbox so I believe it is the first (copy of mail.) Just don’t want to assume. “Assumptions the mother of all evil.

    Second questions how can I use this command to parse and only give me items larger than 34MB and not the whole mailbox. hope someone can help.

  42. Zacks

    HI Paul,
    I have executed the export command successfully, but if i check the status it stays on queued. Is the any way to force it to start?

    1. Avatar photo
      Paul Cunningham

      The process will run when the workload on the server permits it to run. If your server is under heavy load it will take longer to run.

  43. Kadir OZTURK

    hi, first between two dates determined by the archives of emails from pst how do you get as the second question is.. if I took out the emails from the edb file, how do I delete it ? can you help ? thanks

  44. Michele

    Hi Paul,

    using New-MailboxExportRequest is it possible to export from a 50GB mailbox
    multiple .pst divided by MaxSize (Ex: MaxSize 1,2GB / Alias1.pst, Alias2.pst, etc..) ?

    thank you very much

  45. keith

    Hi

    I am familiar with mailbox export but not sure how you allow mailbox export for specific OU to a user ?

    Regards

    1. Avatar photo
      Paul Cunningham

      You can likely do it using RBAC and a custom management role but I don’t have an example for that scenario.

  46. Fabio

    Hello Paul,
    I executed following command:

    “New-MailboxExportRequest -Mailbox user-FilePath \localhostexportpstuser_mailbox.pst”

    The export worked fine.

    I deleted the pst created with the command and I ran “Get-MailboxExportRequest | remove-mailboxExportReques”. The command deleted all tasks and now I don’t have nothing in “Get-MailboxExportRequest”.

    If I try to export again the same mailbox the command does’t start the task and Get-MailboxExportRequest” is empty. If I try to export another maibox, all works fine.

    How I can export again the same mailbox?

    Thanks

  47. Mark

    I exported a mailbox following this guide and afterwards found the mailbox was disconnected due a “soft delete”

    Is this expected behavior?

  48. MarioTunes

    Hi Paul,

    Great Post!

    Do you know if it possible to migrate particular Exchange 2010 SP2 DB to the multiple PST files (each file named based on alias)?

    Thank you

    1. MarioTunes

      Probably that should work

      Get-Mailbox -Database “Database1″ -ResultSize Unlimited | Export-Mailbox -PstFolderPath C:UserPST

      1. MarioTunes

        Or the following script

        $mailboxes = get-mailbox -Database “Database1″ -ResultSize Unlimited

        foreach ($mailbox in $mailboxes) {

        new-mailboxexportrequest -mailbox $mailbox -FilePath \serverc$$mailbox.pst

        }

  49. Lance

    Great article..What is the parameter if you want to move the data into the pst. in Excahnge 2007 it used to be by adding the switch -deleteContent, but that does not seem to work.

    thanks
    Any help is appreciated

  50. Rob

    I had Exchange 2010 with SP1, but no other updates installed. The New-ExportMailboxRequest command was an unknown command. Added Update Rollup 8 and all was good.

    This export works fast – a great time-saver.

    Thanks for this.

  51. Russel

    Thank you for your time on this post and it works great, but I have a question and possible addition to this.

    I have about 450 users to Export to PST and was wondering if there is a way to use a wildcard in the command so I can Export all of the users in a particular DB. I have already moved all the users to DB and after I get all these users exported to PST and backed up I will be removing the DB. Doing it one at a time will take FOREVER.

    Thank you again for your time and help.

  52. MERAJ

    Thanks for your post it was very helpful.

    Thank you
    Meraj

  53. Kevin O'Brien

    Hey Paul,

    I just wanted to say thanks for posting this information. It worked perfectly.

    Thank you,
    Kevin

  54. Craig

    Paul, thank you for sharing your time as well as your vast knowledge and expertise with the IT community … really very helpful!

    I have an issue that I could use a little guidance on if you have the time; A few months back we setup a second forest and migrated some resources and companies from the parent forest to the new forest. We setup a separate Exchange 2010 organization … all is good (except for the obvious challenges and complexity). We were able to successfully use ADMT and Move requests etc to get our Exch 2007 mailboxes to 2010 then cross forest to the root domain containing Exch, then from there to another domain in the new forest. Changed the moved domains to InternalRelays and no problems.

    However, now I have a user who for whatever reason needs to xfer back to the parent (original) company in the old forest … and my Moverequests aren’t working. In fact I prepared the mailbox for move and just couldn’t get the remote (original) domain/forest to recognize the user’s mailbox guid. So I decided to just Export to PST and Import … but now it appears as though I might have messed things up with the Prep.

    When I follow your directions on the new forest’s Exch 2010 SP1 Server I am hit with the following error:
    ** actual user, server, and domain names have been substituted with canned text **

    The operation couldn’t be performed because object ‘username@domainB.dom’ couldn’t be found on ‘Exchange-Server’s-DC.domainA.dom’.
    + CategoryInfo : NotSpecified: (0:Int32) [New-MailboxExportRequest], ManagementObjectNotFoundException
    + FullyQualifiedErrorId : 6C8BC43A,Microsoft.Exchange.Management.RecipientTasks.NewMailboxExportRequest
    + PSComputerName : Exchange-Server.domainA.dom

    ** as for the substituted domain names:

    DomainA = domain in new forest where the new Exchange 2010 Org lives
    DomainB = domain in new forest where the new user lives … mailboxes are specified by UPN
    DomainC = (not listed above) domain in original forest where I was trying to move the mailbox and gave up.

    If you can offer any suggestions on how to un-Bork the “prepared” mailbox so that I can export it to PST, that would super awesome! Thanks a ton.

    1. Craig

      As a follow up,

      I attempted to substitute the user’s mailbox name with the actual AD path as well (tried both UPN and Alias) with no luck:

      ** ran the following on the new forest’s Exchange 2010 SP1 server **

      New-MailboxExportRequest -Mailbox “cn=username,ou=usersOU,ou=childOU,ou=toplvlOU,dc=DomainB,dc=
      dom” -FilePath \Exchange-Server.domainA.domshare

      The requested search root ‘DomainB.dom/toplvlOU/childOU/usersOU’ is not within the scope of this operation. Cannot perform searches outside the scope ‘DomainA.dom’.
      + CategoryInfo : NotSpecified: (0:Int32) [New-MailboxExportRequest], ADOperationException
      + FullyQualifiedErrorId : 7E09615E,Microsoft.Exchange.Management.RecipientTasks.NewMailboxExportRequest
      + PSComputerName : Exchange-Server.domainA.dom

      Thanks again …

      1. Craig

        I just connected to the user’s mailbox with an Outlook client after granting myself permissions to the mailbox and exported the contents to a PST.

        it’s crude, probably not the best way, but it gave me what I needed.

        I’m still interested in knowing if there is anything that I could have done to PST the mailbox via PowerShell … at this point, looking at the errors it appears to me that I have to first create a user in DomainA.dom, disconnect the mailbox from the user in DomainB.dom and associate it with the DomainA.dom user? If so then that’s “PureLameSauce” lol.

        Anyway, thanks.

  55. Shawn

    I beleive the cmdlets posted here “New-MailboxExportRequest” and “Get-MailboxRequest” apply to Exchange 2013 and not Exchange 2010. I have to run Export-Mailbox in Exchange to perform the steps being outlined here. Just a heads up.

    1. Shawn

      To clarify, I have to run “Export-Mailbox” in Exchange 2010 to perform the steps outlined here.

      1. Avatar photo
        Paul Cunningham

        This article opens with:

        “Exchange Server 2010 Service Pack 1 introduced a new method for exporting mailboxes called Mailbox Export Requests. This new method replaces the previous Export-Mailbox command.”

        To clarify, Export-Mailbox was in Exchange 2010 RTM. Exchange 2010 SP1 and above use the mailbox import/export request cmdlets instead.

        If you’re only able to use Export-Mailbox on your server that implies it is still the RTM version, which you should probably do something about as that version is no longer supported.

        1. Mike

          Sorry, but you are indeed incorrect. This is for 2013. I am running Exchange 2010 SP3 and Export-Mailbox is what works.

  56. Andrew

    You could write the last command like

    [PS] C:\>Get-MailboxExportRequest -Status “Completed” | Remove-MailboxExportRequest

  57. Joe T

    Hi Everyone, wondering if someone could help me intrepret a Mailbox Export Request that was documented in the Exchange Management Log (transaction below). Trying to figure out if “administrator” performed a copy of their own mailbox and saved it to Joe.pst file, or if the log shows that administrator accessed the Joe mailbox and made a copy to Joe/pst. Any help much appreciated.

    Information 12/31/12 01.01 MSExchange CmdletLogs 1 General Cmdlet suceeded. Cmdlet New-MailboxExportRequest, parameters {Mailbox=administrator, FilePath=\mailserverE$ExmergeJoe.pst}.

    1. Jason Bedogne

      Not really an expert, but having exported out about 80 mailboxes now, it would appear that someone exported the Mailbox Administrator and saved it to a PST named Joe.

      The log that you left doesn’t show who did the exporting.

      1. Joe T

        Thanks much Jason!

  58. Matt Vest

    This is a great post, but I wanted to add one small caveat that I have encountered, and am curious if this is true for everyone or a peculiarity with this particular Exchange server that I am running. When running this command, both the mailbox and filepath have to be in quotes for the command to run successfully. Is that a requirement, and if not, any idea why it is requiring me to put the command in that syntax?

    1. Avatar photo
      Paul Cunningham

      Any string such as the mailbox name of file path that has a space in it would need to be in quotes.

  59. Dave Scott

    Why there isn’t an ExMerge equivalent for this version of Exchange is beyond me. All his crap for nothing. ExMerge was so reliable.

  60. Joshua Thompson

    Is it possible to export to a PST and have that PST be password protected?

  61. Jason Bedogne

    I have exported out 25+ mailboxes successfully, but I have two mailboxes that keep failing at 39 percent.

    Running Exchange Server 2010 with SP1.

    Any ideas?

  62. Rezq

    IS New-MailboxExportRequest working with exchange 2010 standard edition plz mr.Paul Cunningham tell me urgently

  63. Lee Bergin

    Hi Paul

    I currently have 4 meeting room that we migrated from exchange 2003 to exchange 2010, they will only work if we have the direct booking registry key set in windows 7. Do you know if its possible to export the contents of the calendar and then delete the old room, recreate a new room of the same name and then import the calender and it keep the connections with appointments in end users calenders.

    I have checked all the settings against two new room that i setup and cannot find any differences.

    Thanks in advance for any advice or help you can offer

    Lee

    1. Avatar photo
      Paul Cunningham

      I haven’t encountered that issue with migrated mailboxes before. You’ve checked that they are converted to Room mailboxes correctly and have the calendar configured correctly for autoaccept?

      I don’t think exporting/importing the calenders will keep the “connections” with other invitees but frankly I have no tested that myself.

  64. Amnon

    Unfortunately, I only have the disconnected mailbox, but the user account has already been deleted. You then get the error that the object couldn’t be foun on the DC… So no export to PST possible without the user account still available?
    Is an export still possible, having only the disconnected mailbox, without having to recreate a user account (SOx is in the way…)

  65. Carlos

    Hello Paul!. Amazing tutorial.

    I need some help please. When I run the command I get the following error:

    Could not connect to source Mailbox:
    + CategoryInfo : NotSpecified: (0:Int32) [New-MailboxExportRequest], RemotePermanentException
    + FullyQualifiedErrorId : A3C6C2EA,Microsoft.Exchange.Management.RecipientTasks.NewMailboxExportRequest

    servidor ‘/o=ENTERPRISE/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Configuration/cn=Servers/cn=mail.enterprise.com’ doesn’t exist.

    Do you know why am I receiving this error?

    Thank you very much!

  66. Ashraf

    Hi Paul,

    Thank you for the great article. just i would like to know if pst is currepted while exporting due to large data.. how can i use BadItemLimit command with -MailboxExportRequest -Mailbox abc.xyz -FilePath \esp-ho-ex2010apstabc.xyzpst

  67. Tyler Beazley

    Can you specify a different database to export mailboxes?

    EG-DB 1 is default, DB2 is mounted, Can we export from DB2?

  68. Ron Rossi

    Paul,

    1. Would this be a way to move a small number of mailboxes off an exchange 2010 server to migrate to an Exchange 2013 server prior to the availability of SP3?
    2. Is there a cmdlet for exporting the user’s contact list as well?
    3, How might one check to see these mailboxes and archives exported correctly before you remove the Exchange 2010 server so you might install Exchange 2013 on the domain?

    This is a terrific article.

    Ron

    1. sreenivasa

      New-MailboxExportRequest -ContentFilter {(Participants -eq ‘SNorton@xyz.com’) -and (Received -gt ’03/03/2012′)} -Mailbox “cMERTZ” -FilePath \pitxxxpstsn.pst

      not working and Just Generating 256kb file. please help in running the correct command

  69. Joe

    Very well done tutorial. Saved me a lot of time. Now I can finally collapse my on premise Exchange in favour of Exchange Online.

  70. Nils Kathagen

    Hi Paul,

    I got the error-message:
    “Failure by connecting to the mailbox-database” (translated from German) > sorry for my English! 🙂

    I set all the user-rights like explained in your How-To.
    Also created the new folder with rights.
    First I couldn’t use the cmdlet! But now it’s working.
    But after giving him the parameter the comes the error-message.

    System: MS SBS2011 with Exchange 2010 SP1 running.

    Here is the complete error-log in German:

    [PS] C:Windowssystem32>New-MailboxExportRequest

    Cmdlet New-MailboxExportRequest an der Befehlspipelineposition 1
    Geben Sie Werte f¸r die folgenden Parameter an:
    FilePath: \SBS-KAMKPSTexport.pst
    Mailbox: nils.kathagen
    Fehler beim Kommunizieren mit der Postfachdatenbank.
    + CategoryInfo : ResourceUnavailable: (0:Int32) [New-MailboxExportRequest], ConnectionFailedTran
    ption
    + FullyQualifiedErrorId : CC7A16D4,Microsoft.Exchange.Management.RecipientTasks.NewMailboxExportRequest

    Thank you so much for your help!

    Warm regards

    Nils

  71. Arnel

    Hi Paul,

    Thank You. We figured out that the network share we are using has ran out of space thats why this is happening. For those who are having the same issue, it would be good to double check your network share if it still has plenty of space.

    Thanks Again!

    Arnel

  72. Arnel

    Hi Paul,

    Great Post! I think you could help us with our issue. Previously, we are able to issue a new mailbox export command without a problem but suddenly, for some reason one mailbox export process has failed (from viewing its status). Then after that, we are not able to issue the export command successfully anymore as we got this error.

    The server or share name specified in the path may be invalid, or the file could be locked
    + CategoryInfo : NotSpecified: (0:Int32) [New-MailboxExportRequest], RemotePermanentException
    + FullyQualifiedErrorId : 60FD650B, Microsoft.Exchange.Management.RecipientTasks.NewMailboxExportRequest

    Any help or idea, would much be appreciated. Thanks a lot.

    Arnel

    1. Avatar photo
      Paul Cunningham

      This seems pretty clear to me.

      “The server or share name specified in the path may be invalid, or the file could be locked”

      Any reason to suspect that it is not the actual cause?

  73. DaveW

    The New-ExportMailboxReqeust command only works with Powershell (x64) (not x86).

    1. DaveW

      sorry, misspelled the command, should be: New-ExportMailboxRequest

  74. Amit

    Its working on powershell instead on Exchange Management shell

    Thanks,
    Amit

    1. David Fletcher

      Are you Amit from Vancouver?

  75. Amit

    Hi,

    Is Export-Mailbox supporting to Exchange 2010 sp1 standard edition ?

    Thanks,
    Amit

  76. Kunal D Mehta

    Thank you so much!! This helped me!! 😀

  77. David Fletcher

    Recently, exports have stuck as queued. I can’t get them to move.

    1. Avatar photo
      Paul Cunningham

      Export requests are processed by the CAS role. Check the event logs on your CAS, see if they have any clues.

  78. Hugh

    Thanks and greatly appreciated your time of creating this document.! It is very helpful and works great in my Exchange 2010 SP1 Update 4 environment.

  79. Sven

    Hi

    You know how to delete after the export to pst, all Mails in that Mailbox “Inbox”?

    Thanks for Help

    Sven

  80. Eddie

    This is great if you want to export a single mailbox. What about multiple mailboxes based on a domain, a security group membership or an OU? What about just exporting ALL Mailboxes?

  81. Leo S

    Hi, I find the info very helpful, Just wonder if I can use this cmdlet to export the email items in one user’s mailbox into another mailbox (merging)? like:

    New-MailboxExportRequest -Mailbox jsmith | New-MailboximportRequest -Mailbox afuss

  82. Jason

    Is it ok to run the Exchange Management Shell on the same Exchange server that I am trying to run the export from? My Exchange server is 2010. Are there some versions that this doesn’t work on?

  83. Øyvind Mellem

    Thanks! This was really helpfull

  84. Francisco

    For the following problem:
    Unable to open PST file ‘\Exch-Server1ImportsFile.pst’. Error details: Access to the path ‘\Exch-Server1ImportsFile.pst’ is denied.; Microsoft.Exchange.MailboxReplicationService.RemotePermanentException: Access to the path ‘\Exch-Server1ImportsFile.pst’ is denied.

    The solution is to add to the account ‘SYSTEM’ as a “Co-Owner” in the “Sharing Permissions” not only the Security Tab.

    Francisco

    1. dammy

      thanks so much

    2. Danny

      Thank you!

    3. Ron

      How do you add a user as a co owner?

      Thanks
      Ron

    4. Martin Wells

      One more thing. I tried the above as well and had the same issue, I then figured out that I had to fully qualify the name of the server the share was going on because it is in a different domain than the CAS server and the CAS server could not find it.

      Cas server could not find

      \server1file_share

      but had no problem with

      \server1.domain.localfile_share

  85. Phil

    Paul great article just what I was looking for.
    Phil.

  86. Dotan

    Hi – Very cool. Can I use this cmdlet or a similar one to export mailboxes from an offline EDB? We take snapshots of our Exchange (VMware guest) and we can easily mount the drive and access the EDB file. If not directly from the EDB (like top $$$ recovery products), can we mount the EDB as another database in Exchange, without interfering with production operations?

    Thanks!

  87. Brent

    Tried running this today and I get the following error…
    The term ‘New-MailboxExportRequest’ is not recognized as the name of a cmdlet, function, script file, or operable program.

    We are running version 14.1 (build 218.15).

    1. Avatar photo
      Paul Cunningham

      Have you done the first step to grant the user rights to export mailboxes? No administrator has that right by default.

      1. Brent

        Yes, that was successful, but I don’t think this would have worked even without doing that. When I list get-excommand or even get-command, there is no ‘New-MailboxExportRequest’ in the list. Any thoughts as why this would be?

      2. Jason

        I have had the same experience as Brent. Why doesn’t it recognize the cmdlet?

        1. itti

          Try exit shell and start a new after granting the user rights to export mailboxes

    2. Eddie

      Are you doing this in powershell or are you in the Exchange management shell?

  88. santhosh sivaraman

    Hi Paul,

    I haven’t tried the Mailbox exporting yet.

    But I have a quick questoin. Does the New-MailboxExportRequest command will keep a copy of message inside mailbox or it is like cut & paste?

    Thanks,
    Santhosh

  89. Anand_N

    Hi Paul, I signed up for your boot camp module 1 looked good video. quick question:
    Does outlook need to be installed on the exchange 2010 server for mailbox IMPORT and EXPORT cmdlets to work?

    1. Avatar photo
      Paul Cunningham

      No need to install Outlook for Exchange 2010 SP1 (and above) mailbox import/export.

  90. Duane Roland

    Great post. Thanks for the great step by step guide. It’s much appreciated.

  91. Kevin rose

    Thanks Paul for sharing this helpful step by step guide to export mailbox to PST. Both cmdlets are very useful for Exchange administrators. However, there are some limitations of these cmdlets as they do not work with damaged database. In order to use these cmdlets, The database file should be easily mounted in MS Exchange server.

    In case of corruption, only third party tools can help to convert edb to pst. file. Third party tools are designed with powerful technology to scan and repair the damaged database file. One such tool is given here: http://www.recover-computerdata.com/exchange-server-recovery.html

    This tool repairs the corrupt or damaged .edb file and export the mailboxes into separate .pst files which can be imported directly into MS Exchange Server or MS outlook.

  92. Pete Rosales

    Hello,

    I have several mailbox export requests where the mailbox was deleted before the request so now the failed request appears in RED when I do a get-mailboxmove statistics. How do I remove the RED move requests, not just the completed requests?

    Thanks!

  93. ChuckM

    FYI… Share permissions stopped the export for me with an “is denied”.

    For some reason, I had to add permissions on the folder for the user “SYSTEM” from the local machine (not the active directory).

    1. Tony Smith

      Thanks Chuck. By adding the System permission to my share it worked like a charm.

  94. Jin

    Exchange server OS: windows 2008 R2
    Exchange 2010 SP1
    All domain controllers use Windows 2003 and did schema and prepare domains.

    I have
    main.com, aaa.main.com, bbb.main.com, ccc.main.com

    user name: aaatest

    I put aaatest in Organization Management & mailbox import export member.
    aaamain can do export pst file in aaa users.

    But i can not export bbb or ccc users.
    I get this error message
    _________________________________________________________________
    The operation couldn’t be performed because object ‘test1@bbb.main.com’ couldn’t be found on ‘domain.aaa.main.com’.
    + CategoryInfo : NotSpecified: (0:Int32) [New-MailboxExportRequest], ManagementObjectNotFoundException
    + FullyQualifiedErrorId : 978F19B3,Microsoft.Exchange.Management.RecipientTasks.NewMailboxExportRequest
    _______________________________________________________________

    What kind of permission i have to give aaatest user account to export in other domain ?
    I can create user in bbb or ccc domain names.

    Thanks.

    1. Avatar photo
      Paul Cunningham

      “Couldn’t be found on domain.aaa.main.com” doesn’t sound like a permissions issue, sounds like a scope issue. Your Exchange Management Shell session will be scoped to the local domain by default.

      Try running

      Set-ADServerSettings -ViewEntireForest 1

      to change scope to entire forest and try again.

      1. Jin

        Dear Paul

        Thank you so much for your reply.

      1. Antonio

        This worked for me… but have to see why it won’t work with the -IsArchive syntax

        Thanks

  95. Chris Jershauge

    Hi Biba37

    I am running a Exchange as a Multi-Tenant installation, and I am using this command

    New-MailboxExportRequest –Mailbox “organizationuser” –Filepath \CASHUB01PSTuser.pst

    Please note that the path for the parameter FilePath is without ”
    I havent tryed it with the ” but without it works for me

  96. Shawn Z

    1) Download “ExMerge” on to a Windows 2003 server with Exchange running on it.
    2) Copy “exchmem.dll” to the folder with the “ExMerge” contents.
    3) Give full perms to administrator or the user you logged in as to the server and mailboxes.
    a. In Exchange Manager, right click in server, properties and then security
    b. Uncheck inherit
    c. Add everyone, and give full control to everyone.
    d. Take ownership
    This ensures that you have the require “send as” and “receive as”, but the step here are very insecure. While this is insecure, it does effectively allow a mailbox backup or each user for a system that is about to be decommissioned.

    1. J

      Terrible advice!
      Exmerge can’t handle mailboxes that are over 2GB in size.

  97. biba37

    So, is here any other option to export – import PST ?

    1. Avatar photo
      Paul Cunningham

      Outlook I guess. Sorry I just don’t have exposure to any hosted installs to have encountered this scenario.

    1. Avatar photo
      Paul Cunningham

      Ah. Okay in that case I don’t know for sure either way whether the import/export process works the same for a hosted mode install as it does for a normal install. But that might be the issue right there.

  98. biba37

    Hi,
    am getting this error while try MailboxExportRequest

    New-MailboxExportRequest –Mailbox “organizationuser” –Filepath “\CASHUB01PSTuser.pst”
    Couldn’t connect to the source mailbox.
    + CategoryInfo : NotSpecified: (0:Int32) [New-MailboxExportRequest], RemoteTransientException
    + FullyQualifiedErrorId : 49348511,Microsoft.Exchange.Management.RecipientTasks.NewMailboxExportRequest

    Share + User Rights are OK
    hostfile CASArray IP fake not working for me.

    Thank for help
    Biba

    1. Avatar photo
      Paul Cunningham

      Hi biba37, I can see a few other discussions around the web about the issue, but nothing definitive. Is the mailbox on an Exchange 2010 SP1 Mailbox server?

      1. biba37

        Hi Paul,

        yes, its clear Exchange SP1 -hosted installation

        1. Alex Robinson

          Is there a way to delete the contents of a folder like delete items using a command such as this?

      2. Mahesh Khanolkar

        Hi paul,

        am using below caoomd to export specific period data but no data has been import in pst.

        Please help.
        [PS] C:Windowssystem32>New-MailboxExportRequest -ContentFilter {(Received -lt ’09/30/2012′) -and (Received -gt ’09/19/2012′)} -Mailbox avendus.archival -Name 20sept -FilePath \ACPLMUM-HO-D020Archival20sept.pst

        Regards,
        Mahesh

      3. Alex Robinson

        Is there a way to delete the contents of a folder like delete items using a command such as this?

    2. Jason

      hi,
      had the same issue. The folder you are moving the PST too has to have been shared out to the user account who is doing the export and also advanced sharing permissions if applicable to everyone.

Leave a Reply