How to Use Get-MoveRequest Cmdlet in Exchange Server?
Summary: The Get-MoveRequest PowerShell cmdlet is used to view the status of mailbox move requests initiated by the New-MoveRequest cmdlet. In this post, we have discussed how to use the Get-MoveRequest cmdlet with various parameters. We have also mentioned an EDB to PST converter software that can quickly move single or multiple mailboxes from EDB file to a live Exchange Server database or Microsoft 365.
You can use the New-MoveRequest PowerShell cmdlet in Exchange Server or Exchange Online to move the mailboxes from one database to another. However, after the move request is initiated, the cmdlet doesn’t show any status or progress of the mailbox move request. To get the detailed status of move requests initiated by the cmdlet, you need to use the Get-MoveRequest PowerShell cmdlet. This cmdlet helps you to find out if the mailbox move requests are in-progress, suspended, completed, failed, or need any additional action to perform. There are various parameters or switches that you can use with the cmdlet to filter the search results or get specific information. Below, we will discuss how to use the Get-MoveRequest PowerShell cmdlet, along with different switches or parameters.
Using the Get-MoveRequest PowerShell Cmdlet in Exchange
Before using the Get-MoveRequest cmdlet, you need to ensure that the user account you’ll be using to run the cmdlet has the required roles and permissions assigned. For example, the user must be a member of the Role Group that contains the Migration permissions.
Open the Exchange Management Shell (EMS) as an administrator and simply run thecmdlet as given below:
Get-MoveRequest
The above cmdlet will provide a list of all the mailbox move requests on the server, along with their progress status. You can see the mailboxes name under DisplayName, status of the request under Status, and the name of the database to which the mailbox is being moved under TargetDatabase.
Under the Status column, you can see the following values:
- Queued: The move request is waiting to be processed. This status is displayed when multiple move requests are already in progress.
- InProgress: The move request is being processed.
- Completed: The move request has been successfully completed.
- CompletedWithWarning: The move request is completed but had warnings. This can happen due to different reasons. For example, the source mailbox is not cleaned up after the move.
- CompletionInProgress: The move request is in the final stages of completion.
- Failed: The mailbox move request has failed. This status is displayed when the mailbox has large number of bad items or due to lack of proper permissions.
- Suspended: The move request is suspended. This status is displayed when the move request is submitted with the ‘suspend’ parameter.
- AutoSuspended: The move request is currently in suspended mode. This status is displayed when the move request is submitted with the ‘SuspendWhenReadyToComplete’ parameter.
- Retrying: The move request is running again after encountering an error. This happens due to temporary issues, like connectivity problems, etc.
You can also use the Get-MoveRequest cmdlet with different parameters to get specific information.
To get information about the move requests that are completed, you can use the cmdlet with –MoveStatus Completed parameter (see the below example).
Get-MoveRequest –MoveStatus Completed
If you want to know the move request details of a particular mailbox, you can use the –Identity parameter with the cmdlet (see the below example).
Get-MoveRequest –Identity <Mailbox identity>
Note: You can use the mailbox name or the email ID as the input value for the identity parameter.
If you want to know the number of mailboxes that have been successfully moved to the target database, you can use the Get-MoveRequest cmdlet as given below:
Get-MoveRequest –MoveStatus <Required status> -TargetDatabase <Name of the database>
Conclusion
The Get-MoveRequest PowerShell cmdlet is used to view the status and other details of the mailboxes that are being moved or migrated from one database to another using the New-MoveRequest cmdlet. Above, we have explained how to use the Get-MoveRequest cmdlet. In case the cmdlet shows the move request status against a mailbox as failed, then you need to check and resolve the issue that have caused the move request to fail. Then, you need to again try to move the mailbox. To avoid such hassles, you can use an EDB to PST converter software, such as Stellar Converter for EDB tomigrate mailboxes from the Exchange database file directly to another database on a live Exchange Server. The software scans the EDB file (online or offline), extracts the mailboxes, and listed them on a screen similar to that of Outlook. It can also export the mailboxes and other items from the EDB file to PST and other formats, such as HTML, EML, and PDF, or directly to an Office 365 tenant. The software does not require any additional permissions to perform the move process. Furthermore, it shows the real-time progress status of the mailbox migration.