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. Avatar photo
    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. Avatar photo
    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. Avatar photo
    Georgia Jaeger

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

    GJ

  4. Avatar photo
    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. Avatar photo
    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. Avatar photo
    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. Avatar photo
    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. Avatar photo
    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. Avatar photo
    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. Avatar photo
    Chenny

    Great post!

  11. Avatar photo
    tC tHE tECH

    Thank you very much for this guide!

  12. Avatar photo
    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. Avatar photo
    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. Avatar photo
    Huseyn

    Perfect! Thank you for your helpful article

  15. Avatar photo
    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. Avatar photo
    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. Avatar photo
    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. Avatar photo
    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. Avatar photo
        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. Avatar photo
            Stome007

            Dear Paul,

            Thanks for your reply and well noted.

  19. Avatar photo
    veljko grubacic

    Very nice explained. Thanks Paul

  20. Avatar photo
    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. Avatar photo
      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. Avatar photo
    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. Avatar photo
    Chris Bergman

    Hi Paul,

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

  23. Avatar photo
    Adrian Farrugia

    Hi,

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

    Thanks.

  24. Avatar photo
    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. Avatar photo
    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. Avatar photo
    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. Avatar photo
    Craig

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

  28. Avatar photo
    Prineel

    Worked great, excellent tutorial!

  29. Avatar photo
    Obi Ejiofor

    Can you export psts from a dismounted database ?

  30. Avatar photo
    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. Avatar photo
    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. Avatar photo
        Adriano Mendes

        Thanks Paul!!! 🙂

  32. Avatar photo
    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. Avatar photo
    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. Avatar photo
    Prabhat

    Is there any Emerge command to backup and restore.

  35. Avatar photo
    Prabhat

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

    Can you help into this with command line!

  36. Avatar photo
    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. Avatar photo
    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. Avatar photo
    Chadd M

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

  39. Avatar photo
    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. Avatar photo
    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. Avatar photo
        Patrik J

        Hi
        Thanks it worked! 🙂

  41. Avatar photo
    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. Avatar photo
    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. Avatar photo
    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. Avatar photo
    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. Avatar photo
    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. Avatar photo
    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. Avatar photo
    Mark

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

    Is this expected behavior?

  48. Avatar photo
    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. Avatar photo
      MarioTunes

      Probably that should work

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

      1. Avatar photo
        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. Avatar photo
    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. Avatar photo
    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. Avatar photo
    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. Avatar photo
    MERAJ

    Thanks for your post it was very helpful.

    Thank you
    Meraj

  53. Avatar photo
    Kevin O'Brien

    Hey Paul,

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

    Thank you,
    Kevin

  54. Avatar photo
    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. Avatar photo
      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. Avatar photo
        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. Avatar photo
    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. Avatar photo
      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. Avatar photo
          Mike

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

  56. Avatar photo
    Andrew

    You could write the last command like

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

  57. Avatar photo
    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. Avatar photo
      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. Avatar photo
        Joe T

        Thanks much Jason!

  58. Avatar photo
    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. Avatar photo
    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. Avatar photo
    Joshua Thompson

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

  61. Avatar photo
    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. Avatar photo
    Rezq

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

  63. Avatar photo
    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. Avatar photo
    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. Avatar photo
    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. Avatar photo
    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. Avatar photo
    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. Avatar photo
    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. Avatar photo
      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. Avatar photo
    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. Avatar photo
    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. Avatar photo
    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. Avatar photo
    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. Avatar photo
    DaveW

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

    1. Avatar photo
      DaveW

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

  74. Avatar photo
    Amit

    Its working on powershell instead on Exchange Management shell

    Thanks,
    Amit

    1. Avatar photo
      David Fletcher

      Are you Amit from Vancouver?

  75. Avatar photo
    Amit

    Hi,

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

    Thanks,
    Amit

  76. Avatar photo
    Kunal D Mehta

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

  77. Avatar photo
    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. Avatar photo
    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. Avatar photo
    Sven

    Hi

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

    Thanks for Help

    Sven

  80. Avatar photo
    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. Avatar photo
    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. Avatar photo
    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. Avatar photo
    Øyvind Mellem

    Thanks! This was really helpfull

  84. Avatar photo
    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. Avatar photo
      dammy

      thanks so much

    2. Avatar photo
      Danny

      Thank you!

    3. Avatar photo
      Ron

      How do you add a user as a co owner?

      Thanks
      Ron

    4. Avatar photo
      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. Avatar photo
    Phil

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

  86. Avatar photo
    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. Avatar photo
    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. Avatar photo
        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. Avatar photo
        Jason

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

        1. Avatar photo
          itti

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

    2. Avatar photo
      Eddie

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

  88. Avatar photo
    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. Avatar photo
    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. Avatar photo
    Duane Roland

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

  91. Avatar photo
    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. Avatar photo
    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. Avatar photo
    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. Avatar photo
      Tony Smith

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

  94. Avatar photo
    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. Avatar photo
        Jin

        Dear Paul

        Thank you so much for your reply.

      1. Avatar photo
        Antonio

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

        Thanks

  95. Avatar photo
    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. Avatar photo
    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. Avatar photo
      J

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

  97. Avatar photo
    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. Avatar photo
    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. Avatar photo
        biba37

        Hi Paul,

        yes, its clear Exchange SP1 -hosted installation

        1. Avatar photo
          Alex Robinson

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

      2. Avatar photo
        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. Avatar photo
        Alex Robinson

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

    2. Avatar photo
      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