The Remove-MailboxExportRequest cmdlet in PowerShell completely removes the export requests – be it failed, completed, or partially completed – which were created by the New-MailboxExportRequest. It doesn’t remove the actual exported PST files. It only removes the requests’ record from the Exchange Server as these are not automatically removed from the Exchange Server. This article covers when and how to use Remove-MailboxExportRequest and best-practice cleanup schedules. It also covers some common errors, along with their fixes.
What Does Remove-MailboxExportRequest Command Do?
This command will cleanup and remove the export request commands executed on the server. Once you have completed the exports, be it failed export, suspended, or completed with errors, it’s best practice to clean up the requests.
You cannot remove an in-progress export request without suspending it first. For this, use the below command:
Suspend-MailboxExportRequest -Identity "<mailbox name>\MailboxExport"

If you fail to do so, you will get an error message and the export request will not be removed or stopped.
The command will remove the record from the Exchange Server. So, the completed, failed, or completed with errors, requests are removed from the list. Otherwise, the accumulated requests will slow down the Get-MailboxExportRequest queries while taking a considerable amount of time. You will benefit from a cleaner Exchange Server and easier manageability of the new exports. Although the record of the export in the Exchange Server is removed, the PST file will not be deleted.
Note: If you re-run the export of a removed request, you will need to change the PST destination file or rename the already exported file.
| Scenario | What Remove-MailboxExportRequest does | PST file affected? |
| Remove after Completed status | Removes the completed request record from Exchange | No — PST remains at UNC path |
| Remove a Failed request | Clears the failed request so you can create a new one | No — partial PST remains if any |
| Remove while InProgress | Stops the export and removes the request | No — partial PST remains at UNC path |
| Bulk remove all Completed | Removes all completed request records in one command | No — all PST files remain |
Prerequisites
To run the command, you will need specific role, i.e. Mailbox Import Export, in the Exchange Server. It is the same if you need to run the New-MailboxExportRequest command. To assign the role,
- Open a PowerShell window in the Exchange Management Shell (EMS).
- Run the command as given below:
New-ManagementRoleAssignment -Role "Mailbox Import Export" -User username

This will assign the role to the specified user.
However, the best practice is assign the role to a security group.
New-ManagementRoleAssignment -Role "Mailbox Import Export" -SecurityGroup "<group name>"

Once the command is executed, close the EMS and and re-open it. Then, run the Remove-MailboxExportRequest command.
Note: The Mailbox Import Export role is not assigned by default to any user, not even to the Organization Management admins.
Syntax and Parameters
The command’s full syntax is:
Remove-MailboxExportRequest [-Identity] <MailboxExportRequestIdParameter> [-Force] [-Confirm] [-WhatIf]
Here is a list of all parameter, along with the requirements and description.
| Parameter | Requirement | Description |
| -Identity | Required (or pipeline) | The name of the export request in Mailbox\RequestName format. For example, john.doe\MailboxExport. |
| -Force | Optional | Forces removal without confirmation prompt. Use carefully in scripts. |
| -Confirm | Optional | Prompts for confirmation before removing each request. Default behavior. |
| -WhatIf | Optional | Shows what would happen without actually removing anything. Recommended for bulk removals before execution. |
It can also be used in combination with other commands (see the example below).
Get-MailboxExportRequest [filters] | Remove-MailboxExportRequest
Common Scenarios to Use the Command
You can use the -WhatIf parameter to see what the command will do before actually running it.

This will also give information on which requests would be removed.
Let’s take a look at some scenarios where you can use this command:
Scenario 1 – Remove a Single Completed Export Request
To remove a single export request, you should use the command as given below.
Remove-MailboxExportRequest -Identity <identity of export>

If you’re not aware of the identity, you can use the command – Get-MailboxExportRequest. This will give you the list of all the export requests.
Scenario 2 — Remove All Completed Export Requests (Bulk Cleanup)
You can use the command with Get-MailboxExportRequest to bulk remove the requests.
Get-MailboxExportRequest -Status Completed | Remove-MailboxExportRequest

Scenario 3 — Remove All Failed Export Requests
For this, you will need to use the command as given below.
Get-MailboxExportRequest -Status Failed | Remove-MailboxExportRequest

Scenario 4 — Remove All Export Requests Regardless of Status
You can use the following command to get all the requests and remove them. This will them all without prompting.
Get-MailboxExportRequest | Remove-MailboxExportRequest

If you want a prompt before removing each request, you need to add the -Confirm switch in the command.
Get-MailboxExportRequest | Remove-MailboxExportRequest -Confirm:$false

Scenario 5 — Remove Requests Older than a Specific Date
You have to first specify the cut-off date (by using the line below) to define the variable.
$cutoff = Get-Date "<YYYY-MM-DD>"
If the completed data is earlier than the specified date, use the below command to remove the requests:
Get-MailboxExportRequest -Status Completed | Where-Object { $_.CompletionTimestamp -lt $cutoff } | Remove-MailboxExportRequest -Confirm:$false

Common Errors and Fixes
| Error | Cause | Fix |
| The operation could not be performed because object could not be found | The request name or mailbox identity is wrong | Run Get-MailboxExportRequest without filters to list all requests and verify the exact identity |
| The term Remove-MailboxExportRequest is not recognized | Mailbox Import Export role is not assigned | Assign the Mailbox Import Export role and reopen EMS |
| Cannot remove a request with status InProgress without -Force | Trying to remove an active export request | Add -Force parameter or wait for the export request to complete first |
| Access denied | Insufficient permissions on the request or mailbox | Ensure the account has Mailbox Import Export role and the request was created by the same or a delegated account |
| Export request removed but PST file is missing / incomplete | Partial export was removed before completion | Re-run New-MailboxExportRequest with the same or new file path |
| PST export failed repeatedly and mailbox data is needed urgently | Exchange database issue preventing MRS from completing the export | Use Stellar Converter for EDB to extract mailbox data directly from the EDB file, bypassing the export request system entirely. This is particularly useful when Remove-MailboxExportRequest is needed to clear stuck exports but the data still hasn’t been recovered. |
Recommended Maintenance Schedule
Running a cleanup schedule prevents export request accumulation and keeps Get-MailboxExportRequest queries fast. Below is a matrix of what you can do for scheduling of running the command.
| Frequency | Recommended Command | Purpose |
| Daily (if bulk exports run) | Get-MailboxExportRequest -Status Completed | Remove-MailboxExportRequest | Remove completed requests from previous day |
| Weekly | Get-MailboxExportRequest -Status Failed | Remove-MailboxExportRequest | Clear failed requests before retrying |
| Monthly | Get-MailboxExportRequest | Where-Object {$_.CompletionTimestamp -lt (Get-Date).AddDays(-30)} | Remove-MailboxExportRequest | Remove old completed requests |
| Ad hoc | Get-MailboxExportRequest | fl | Full audit of all current export requests |
Frequently Asked Questions