Home » Techtalk » Exchange Server » Run New-MailboxExportRequest in Exchange 2016, 2019 using PowerShell

Run New-MailboxExportRequest in Exchange 2016, 2019 using PowerShell

Admin | Modified: 2022-03-05T06:19:08+00:00| Exchange Server, PowerShell cmdlet | 3 Minutes Reading

Microsoft has released the latest version of Exchange, Exchange Server 2016, 2019 with a new New-MailboxExportRequest cmdlet to export Exchange mailboxes to an Outlook-compatible file (PST). Sometimes users need to perform a migration but don’t know how to do it. There are two ways to carry out the conversion process, manual and automatic methods.

Manually, users can export mailboxes using PowerShell in the Exchange Management Shell. But there are some limitations associated with manual focus. Therefore, there is an alternative solution available which is Exchange Mailbox Export Tool. It is a professional utility that works the same as New-MailboxExportRequest Exchange 2016, 2019. However, it does not have any drawbacks. In this blog, we will describe both methods.

Download Now Purchase Now

Also Read: How to Batch Move Mailbox in Exchange 2019?

Need to Execute New-MailboxExportRequest

There are many reasons why we need to use export request. Some of these reasons are described below:

  • Save mailbox data for employees leaving your organization for future review.
  • Create backup copies of Exchange mailboxes for future use.
  • View Exchange mailbox data in Microsoft Outlook.

Use New-MailboxExportRequest via PowerShell

The Exchange mailbox export process using PowerShell cmdlets is a manual method. Here we will discuss various cmdlets.

1. Let’s consider a scenario where James is the primary mailbox of the PST that you want to export to the network shared folder MyPSTFile on SERVER02. Now run the command mentioned below to export mailboxes to PST:

New-MailboxExportRequest- Mailbox James -FilePath “\\SERVER02\MyPSTFile\James_Recoverd.pst”

2. If you want to export the James Archive file to the MyPSTFile network share on SERVER02, run the following command:

New-MailboxExportRequest- Mailbox James -FilePath “\\SERVER02\MyPSTFile\James_Archive.pst”-IsArchive

3. James user mailboxes received before May 1, 2016, if you want to export mailbox messages based on content filtering or matching the words “profit” and “sales” in the body of the message. Run the following command:

New-MailboxExportRequest -Mailbox James -ContentFilter {(body -like “*profit*”) -and (body -like “*sales*”) -and (Received -lt “01/05/2016”)} -FilePath \\SERVER02\MyPSTFile\James_MyCompanyReports.pst

4. If you need to export all the data from the James mailbox file (JamesData), please run the PowerShell mentioned below:

New-MailboxExportRequest -Mailbox James -IncludeFolders “#Inbox#” -FilePath \\SERVER02\MyPSTFile\James\JamesData.pst

Steps to Run New-MailboxRepairRequest in Exchange 2016, 2019

Limitations of PowerShell Method

There are several limitations to the PowerShell method of exporting mailboxes. Some of them are mentioned below:

  • Exporting Exchange mailboxes with PowerShell is a complex method and it’s difficult to perform a New-MailboxExportRequest in Exchange 2016, 2019.
  • Before starting a new Exchange mailbox export request, the user must delete the current mailbox export request.

Alternative of New-MailboxExportRequest

To overcome the limitations of manual solutions, users can use an automated method, RecoveryTools for Exchange Server. It is a professional utility that can easily extract Exchange mailboxes from Exchange Server 2016, 2019 and save them to PST file.

The software can save all mailbox items i.e. inbox, contacts, calendar, tasks, notes etc. in Microsoft Outlook file format. This tool can also recover severely damaged Exchange mailboxes. Supports export of encrypted and password-protected EDB files without data loss. There is no limit to the size of an Exchange database file.

Refer: How to Recover Archived Emails in Exchange Server 2019, 2016?


In this article, we discuss a manual method to run New-MailboxExportRequest process. This manual solution can be done using the PowerShell command in Exchange 2016, 2019 and the other method is a software solution. This is an efficient and reliable tool to do this task.