Goline Logo

News

  • Route RPKI validation April 1st, 2022
    RPKI is a security framework by which network owners can validate and secure the critical route updates or Border Gateway Protocol (BGP) announcements between public Internet networks. BGP is essentially the central nervous system of the Internet and one of its fundamental building blocks. The main function of BGP is to facilitate efficient routing between Autonomous Systems (AS), by building and maintaining the Internet routing table. The Internet routing table is effectively the navigation system of the Internet and without it, traffic would be unable to flow between its constituent networks. Unfortunately, routing equipment alone cannot distinguish between legitimate and malicious routing announcements,...
  • RIPE – Atlas Anchor February 17th, 2022
    We have become an even more integral part of the RIPE Atlas project by hosting an anchor, a device that allows for latency analysis of traffic between autonomous systems.https://atlas.ripe.net/probes/7073/RIPE Atlas anchors play an integral role in the RIPE Atlas network by acting both as enhanced RIPE Atlas probes with more measurement capacity, as well as regional measurement targets within the greater RIPE Atlas network. Anchors are able to perform many more measurements than a regular RIPE Atlas probe, and the large amount of data they collect is made available to everyone. In addition, anchors act as powerful targets that can...
  • MANRS June 20th, 2020
    GOLINE firmly believes in initiatives to protect networks, improve security and resilience of the global routing system. Therefore we decided to support the MANRS project and join as participants.Mutually Agreed Norms for Routing Security (MANRS) is a global initiative, supported by the Internet Society, that provides crucial fixes to reduce the most common routing threats. MANRS offers specific actions via four programs for Network Operators, Internet Exchange Points, CDN and Cloud Providers, and Equipment Vendors. Requirements for Participation Please read the full MANRS Actions document before applying. You can become a participant if you meet these requirements: You (or your company) support...

MS Exchange: Check and recreate Exchange health mailboxes

Caparrelli Paolo Exchange Server 22 June 2022

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. Did you already check the Exchange health mailboxes? If the health mailboxes are corrupted, then they will not work like it’s intended to do.

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 following command.

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

The organization is running 2 Exchange 2016 Servers with a DAG configured. Each Exchange Server is running 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

Read more: Count health mailboxes in Exchange »

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

Check Exchange health mailboxes

Run Exchange Management Shell as Administrator. Check the health mailboxes of all the Exchange servers in the organization. It should show like below. 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 and you want to show the health mailboxes of that particular Exchange Server, run the following command.

[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 error, 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 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
WARNING: Waiting for service 'Microsoft Exchange Health Manager (MSExchangeHM)' to start…
WARNING: Waiting for service 'Microsoft Exchange Health Manager (MSExchangeHM)' to start…

4. Verify Exchange health mailboxes

It may take a while for all health mailboxes to be populated. Run the following command to check if all is looking good.

[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

Keep reading: Exchange Server health check with PowerShell script »

Conclusion

It’s always essential to have the health mailboxes checked. Having all health mailboxes in a proper state is important to keep your Exchange Servers healthy. When was the last time that you checked your health mailboxes? Another great article about health mailboxes is written by Microsoft.

If you enjoyed this article, you might also like Exchange transaction logs growing rapidly. Don’t forget to follow us for more great content.

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x