Skip to content

Check Exchange health mailboxes

DAG databases keep switching servers by themselves is a new feature of Exchange 2016 CU2. If you have a pre-Exchange 2016 CU2 server and it’s switching over automatically, then there is another issue. What you need to do is to check the Exchange health mailboxes. If the health mailboxes are corrupted, then they will not work like it’s intended to.

Health mailboxes in Exchange Server

Exchange Server 2013 introduced a new feature called Managed Availability.

Managed Availability:

  • A built-in monitoring system with self-recovery capabilities
  • Performs continuous tests (probes) that simulate end-user actions

It does that to detect possible problems with Exchange components or their dependencies. If probes are failing, it performs gradual simple recovery actions. This way, it will bring the affected component in a healthy state. It uses a special type of mailboxes, called monitoring mailboxes or health mailboxes. These mailboxes simulate end-user kinds of tests. The life cycle of monitoring mailboxes is taken care of entirely by Managed Availability components.

In the next part, you can count the health mailboxes.

How many Exchange health mailboxes

Up to Exchange 2013 CU6, there is one health mailbox per mailbox database copy and one per CAS. Exchange 2013 CU6 changed the number of health mailboxes that are created. A health mailbox is created for every mailbox database hosted on a mailbox server (Active or Passive), and 10 health Mailboxes for every CAS role.

If you need to know the total count of the health mailboxes, run the below command in Exchange Management Shell.

[PS] C:\>(Get-Mailbox -monitoring).count
44

The organization is running 2 Exchange 2016 Servers with a DAG configured. Each Exchange Server runs 12 databases. Let’s do the math:

2 Exchange Servers times 12 databases = 24 health mailboxes
2 Exchange Servers (CAS role) times 10 health mailboxes = 20 health mailboxes
Total = 44 health mailboxes

Now that we have calculated the count of the health mailboxes, we can proceed further to check the health mailboxes.

Check Exchange health mailboxes

Note: We recommend checking the Exchange health mailboxes in Exchange Management Shell and not in Active Directory Users and Computers. That’s because ADUC will not show if the health mailboxes are corrupted.

Run Exchange Management Shell as Administrator. Check the health mailboxes of all the Exchange servers in the organization. We did not list all the health mailboxes.

[PS] C:\>Get-Mailbox -Monitoring

Name                      Alias                ServerName       ProhibitSendQuota
----                      -----                ----------       -----------------
HealthMailboxfc6b222c5... HealthMailboxfc6b... ex01-2016        Unlimited
HealthMailbox3c77598d7... HealthMailbox3c77... ex02-2016        Unlimited
HealthMailbox51b8bbed8... HealthMailbox51b8... ex02-2016        Unlimited
HealthMailbox5aa05ef5a... HealthMailbox5aa0... ex01-2016        Unlimited
HealthMailbox651e899e4... HealthMailbox651e... ex01-2016        Unlimited
HealthMailbox7df74c738... HealthMailbox7df7... ex02-2016        Unlimited
HealthMailbox133cc940d... HealthMailbox133c... ex02-2016        Unlimited

If you have more than one Exchange Server, you can show the health mailboxes of that particular Exchange Server.

[PS] C:\>Get-Mailbox -Monitoring | ?{$_.DisplayName -like "*EX01-2016*"} | Format-Table Name, Database, DisplayName, ServerName

Name                                          Database DisplayName                  ServerName
----                                          -------- -----------                  ----------
HealthMailboxfc6b222c524d472a9a0547cdc90f48a5 DB01     HealthMailbox-EX01-2016-DB01 ex01-2016
HealthMailbox3c77598d767f44af902ba08a6af516cd DB02     HealthMailbox-EX01-2016-DB02 ex02-2016
HealthMailbox51b8bbed8a344d37b6babccc5c1b702f DB04     HealthMailbox-EX01-2016-DB04 ex02-2016
HealthMailbox5aa05ef5aba14671b2900cb003002124 DB03     HealthMailbox-EX01-2016-DB03 ex01-2016
HealthMailbox651e899e40ac40a99ac65f7c2027e11b DB01     HealthMailbox-EX01-2016-001  ex01-2016
HealthMailbox7df74c7387e24c7abbab2571ea8494a9 DB04     HealthMailbox-EX01-2016-002  ex02-2016
HealthMailbox133cc940d19b4d45ae680076e17dd587 DB02     HealthMailbox-EX01-2016-003  ex02-2016
HealthMailboxf547cc3e8ca94092bda020148fdb9b1b DB03     HealthMailbox-EX01-2016-004  ex01-2016
HealthMailboxe278c15302a745759c6dd77be9ec84b6 DB01     HealthMailbox-EX01-2016-005  ex01-2016
HealthMailbox0a2f8ef25c004a369a6668f2d85ad8a9 DB04     HealthMailbox-EX01-2016-006  ex02-2016
HealthMailboxdfd77822e9c3468bb5f6adee1da27439 DB02     HealthMailbox-EX01-2016-007  ex02-2016
HealthMailbox8ba1b2f470b546bebed5188f169e5d69 DB03     HealthMailbox-EX01-2016-008  ex01-2016
HealthMailboxcfbde93a3a0b456298e574aebd2d090c DB01     HealthMailbox-EX01-2016-009  ex01-2016
HealthMailbox3e3174d634754afb96b7c9d1810caff8 DB04     HealthMailbox-EX01-2016-010  ex02-2016

It will list all the health mailboxes, and if you don’t see any errors, all is good! If you see errors on one or more health mailboxes, it means that the health mailboxes are corrupted and in an inconsistent state.

“WARNING: The object DOMAINNAME/Microsoft Exchange System Objects/Monitoring Mailboxes/”Health_Mailbox_GUID” has been corrupted, and it’s in an inconsistent state. The following validation errors happened: WARNING: Database is mandatory or UserMailbox.”

Exchange health mailbox cleanup

To fix Exchange health mailboxes corrupted and inconsistent state, we will recreate the Exchange health mailboxes in three steps and verify that they are in healthy condition. You can perform the steps for Exchange Server 2013/2016/2019.

1. Stop Exchange Health Manager Service

Stop the service Exchange Health Manager Service on all the Exchange Servers.

[PS] C:\>Get-Service -DisplayName "Microsoft Exchange Health Manager" | Stop-Service

2. Delete Exchange health mailboxes

Open up Active Directory Users and Computers (ADUC). Make sure to enable Advanced Features. If you don’t, you can’t see the container Microsoft Exchange System Objects.

Check Exchange health mailboxes ADUC Advanced Features

Expand the container Microsoft Exchange System Objects. Click on the sub-container Monitoring Mailboxes. Select all the health mailboxes and delete them.

Check Exchange health mailboxes delete all

If you want to delete them through Exchange Management Shell, run the following command.

[PS] C:\>Get-Mailbox -Monitoring | Remove-Mailbox -Confirm:$false

3. Start Exchange Health Manager Service

Now let’s recreate the health mailboxes.

Start the service Exchange Health Manager Service on all the Exchange Servers. You can also restart the Exchange Servers.

[PS] C:\>Get-Service -DisplayName "Microsoft Exchange Health Manager" | Start-Service

4. Verify Exchange health mailboxes

It may take a while for all health mailboxes to be populated.

[PS] C:\>Get-Mailbox -Monitoring | Format-Table Name, ServerName, WhenCreated

Name                                          ServerName WhenCreated
----                                          ---------- -----------
HealthMailbox24e0fe6308a8463ba9ecd9aa01aafdcd ex01-2016  5/14/2021 2:23:20 PM
HealthMailbox3e521925c4ef4737afeb918fb7ce894c ex02-2016  5/14/2021 2:23:20 PM
HealthMailbox32f14db8771f431bbe0070b35d2a7b5a ex02-2016  5/14/2021 2:23:20 PM
HealthMailbox134c28e946f34a5d9f0e35265129135d ex01-2016  5/14/2021 2:23:25 PM
HealthMailbox5e66219044a24a98b41c40a4367e8f5d ex01-2016  5/14/2021 2:23:37 PM
HealthMailbox3babb5d5e74249ebb8dd412eb87fd385 ex01-2016  5/14/2021 2:23:49 PM
HealthMailboxc0b31d6fb0e74cdb85b209827604797a ex02-2016  5/14/2021 2:23:59 PM

That’s it!

Keep reading: Exchange Server health check with PowerShell script »

Conclusion

It’s always essential to have the health mailboxes checked. Calculate the health mailboxes and ensure that they are present in Active Directory. Having all health mailboxes in a good state is important to keep your Exchange Servers healthy. Microsoft did write a great article about health mailboxes.

If you enjoyed this article, you might also like Cannot delete mailbox database in Exchange Server. Don’t forget to follow us for more great content.

ALI TAJRAN

ALI TAJRAN

ALI TAJRAN is a passionate IT Architect, IT Consultant, and Microsoft Certified Trainer. He started Information Technology at a very young age, and his goal is to teach and inspire others. Read more »

This Post Has 14 Comments

  1. I just took over management of an exchange 2016 infrastructure.
    We are seeing hundreds of disabled mailboxes that all have “In-Place Archive -Healthmailbox-server-xx”
    We are not doing in place archiving and not sure why these seem to get created and deleted almost daily.
    Have you seen these?

    1. In case this comes up for anyone else, I found Microsoft’s article that outlines our particular issue. All of you servers have “-” in the name.

      I was able to recreate all healthmailboxes and then turn on the delete protection. However it still seems to be deleting the actual mailboxes on the exchange server.
      Have not found a solution to that yet, but at least now our AD is not getting filled with thousands of new Healthmailbox accounts that then get deleted.

  2. Hi, Ali.
    I get this when I try to delete some of these HealthMailboxes via ADUC:

    Confirm Subtree Deletion
    Object
    HealthMailbox* contains other objects. Are you sure you want to delete object HealthMailbox* and all of the objects it contains?

    If you cancel the running deletion, the objects deleted thus far will not be recovered.
    WARNING: if you select Use Delete Subtree server control check box, all objects within the subtree, including all delete-protected objects, will be deleted, and the deletion cannot be canceled.

    Is it OK to continue?

    Thank you,
    Bina

  3. Another great article Ali, Thank you very much!

    When I check the health mailbox per your instructions, it shows that there are 25 mailboxes on a standalone server with 5 databases.

    2 of the databases have 11 health mailboxes each and they are on the same server. Is this normal?

    Also, some of the health mailboxes have a display name that contains a server name that I have removed from the network. Is it okay for that server name to keep showing up?

    1. I recommend you follow the steps in the “Delete Exchange health mailboxes” section. After that, no health mailboxes should show up containing the removed Exchange Server, and the total numbering would be 15 health mailboxes in your case.

  4. Thank you.

    Does stopping this service and performing this work cause any exchange down-time? This may be something to mention in your tutorials.

  5. Hi 🙂

    Thank you for your Guide.

    We have done this too on our Exchange 2016 CU22 but it wont recreate the HealthMailboxes 🙁

    Please help

  6. This article is very easy to follow, thank you.

    Does this apply to Exchange 2019 too?

Leave a Reply

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