Table of Content
    Exchange Server Recovery

    How to Use New-MailboxRepairRequest Cmdlet in Exchange Server?


    Table of Content

      Summary: The New-MailboxRepairRequest PowerShell cmdlet is used to detect and fix issues with a specific mailbox or all mailboxes in an Exchange Server database. In this article, you will learn how to use the New-MailboxRepairRequest cmdlet to repair the mailboxes. We will also mention an advanced Exchange repair tool that can repair severely corrupted Exchange database in just a few simple steps.

      Exchange mailboxes or database can get corrupted due to improper server shutdown, sudden power failure, abrupt system shutdown, virus attacks, moving mailboxes to another database, or various other reasons. In such a case, users with corrupted mailboxes face issues when accessing their mailbox data. Some common issues that users may encounter include outdated mail folders, missing mail folders or mail items, delay in sending or receiving emails, problem with search functionality, and inaccessible mail folders.

      To resolve such issues, you (as an administrator) need to repair the corrupted user mailboxes. For this, you can use the New-MailboxRepairRequest cmdlet in Exchange Server. This cmdlet can help you to detect corruption issues in the user mailboxes and fix them. With this cmdlet, you can repair a specific mailbox or all the mailboxes in a particular database. This cmdlet is available in Exchange Server 2010, 2013, 2016, and 2019. With the New-MailboxRepairRequest cmdlet, you can use the following parameters:

      • SearchFolder: To fix Search Folder corruption issues.
      • AggregateCounts: To fix issues with Aggregate Counts on folders that don’t reflect the correct values or number of mail items.
      • FolderView: To fix issues with views on folders that are not returning accurate content.
      • ProvisionedFolder: To fix folders that are not pointing correctly to the parent folders.
      • DetectOnly: To get the report on errors but not to fix them.

      Now let’s see how to use the New-MailboxRepairRequest cmdlet to repair a single and multiple mailboxes in Exchange Server.

      Process to Use the New-MailboxRepairRequest PowerShell Cmdlet in Exchange Server

      Before using this cmdlet, you need to ensure that the Databases and Mail Recipients roles are assigned to the user account you will be using.

      Before using this cmdlet, you need to ensure that the Databases and Mail Recipients roles are assigned to the user account you will be using.

      After assigning the required roles and permissions, you can run the New-MailboxRepairRequest cmdlet as given below to detect corruption issues in a specific mailbox.

      New-MailboxRepairRequest -Mailbox “user’s email ID” -CorruptionType SearchFolder, AggregateCounts, ProvisionedFolder, FolderView -DetectOnly
      After assigning the required roles and permissions, you can run the New MailboxRepairRequest cmdlet as given below to detect corruption issues in a specific mailbox.

      Note: You can also use the username in the cmdlet, instead of the email ID.

      The above command will only detect the issues in the specified mailbox. It does not fix the issues found in the mailbox.

      Now, you can run the New-MailboxRepairRequest cmdlet without the –DetectOnly parameter (as given below) to fix the problems with the mailbox.

      New-MailboxRepairRequest -Mailbox “user’s email ID” -CorruptionType SearchFolder, AggregateCounts, ProvisionedFolder, FolderView
      However, if you want to repair all the mailboxes in a database, then you can use the New MailboxRepairRequest with the –Database parameter instead of –Mailbox (see the below example).

      You can also use the New-MailboxRepairRequest cmdlet to fix issues related to a specific parameter for all mailboxes in a database. For example,

      New-MailboxRepairRequest -Database DB01 -CorruptionType AggregateCounts 

      The above command will repair the AggregateCounts for all mailboxes in the database, named DB01.

      The New-MailboxRepairRequest cmdlet doesn’t provide any progress status or feedback information. To check the status of repair request, you need to use the Get-MailboxRepairRequest cmdlet (see the below example).

      Get-MailboxRepairRequest –Database <Name of the database>
      you need to use the Get MailboxRepairRequest cmdlet (see the below example).

      Things to remember when using the New-MailboxRepairRequest cmdlet:

      • When the NewMailboxRepairRequest cmdlet is running, the access to the mailbox being repaired is disrupted for the repair duration.  
      • It works on mounted databases only. You are not required to dismount the database. This allows other users to continue accessing their mailboxes in the database and use their email services.
      • Once the repair process starts, there’s no way to stop it unless you force dismount the database, which isn’t recommended.  
      • The command can be executed for repairing one database at a time or up to 100 mailboxes.

      An Alternative Solution to Repair Corrupted Mailboxes or Databases

      Though the NewMailboxRepairRequest cmdlet helps resolve most of the issues associated with the mailboxes, it doesn’t display the repair status. Also, there is no option to pause or stop the repair request. As an alternative, you can use a third-party Exchange repair tool, such as Stellar Repair for Exchange. This tool lets you repair the corrupted Exchange Server database (EDB) file and recover all the mailboxes and other data, such as archive, shared folders, etc. It allows to save the recovered mailboxes and other data to PST files with complete integrity. It can also export the mailboxes recovered from the database to a new healthy database on a live Exchange Server or Microsoft 365 account. The tool supports Exchange Server 2019, 2016, 2013, and earlier versions.

      To Wrap Up

      The New-MailboxRepairRequest cmdlet helps you fix issues with Exchange mailboxes and databases without dismounting the database. Above, we have explained how to use this cmdlet to repair a mailbox or all the mailboxes in a database. However, this cmdlet is available in Exchange Server 2010 SP1 and later versions only. Also, it may not repair a dismounted database or mailbox stored in a dismounted database. For such cases, you need to use an Exchange repair tool, such as Stellar Repair for Exchange. It supports all Exchange Server versions – from Exchange Server 5.5 to Exchange Server 2019. This tool can fix large, severely corrupt, or damaged Exchange databases, recover mailboxes, and save them in PSTs. It can also export the recovered mailboxes directly to Office 365 or live Exchange Server.

      Was this article helpful?

      No NO

      About The Author

      Edward van Biljon (MVP)

      Experienced Messaging Specialist with a demonstrated history of working in the information technology and services industry. Skilled in WSUS, Domain Name System (DNS), Data Center, Printer Support, and System Center Configuration Manager (SCCM). Strong information technology professional with a International Diploma in Programming focused in Computer Programming from CTI.

      2 comments

      1. I think, you should also mention that shared folder cannot be on the Exchange server.

        Earlier, this problem wasted my several hours. So, I wish that others don’t face this trouble.

      2. Pingback: Nancy I. Ward

      Leave a comment

      Your email address will not be published. Required fields are marked *

      Image Captcha
      Refresh Image Captcha

      Enter Captcha Here :

      Related Posts

      WHY STELLAR® IS GLOBAL LEADER

      Why Choose Stellar?

      • 0M+

        Customers

      • 0+

        Years of Excellence

      • 0+

        R&D Engineers

      • 0+

        Countries

      • 0+

        PARTNERS

      • 0+

        Awards Received