Wednesday 15 April 2015

Re-creating health mailboxes in Exchange 2013

I recieved the following error message when attempting to run the command 'Test-ExchangeSearch -MailboxDatabase "Example Database" -IndexingTimeoutInSeconds 30 | FL':

"The monitoring mailbox could not be found in the Mailbox Database"

Firstly check if you can perform the indexing checks on any other mailboxes successfully and then verify if the relevent health monitoring inboxes exist for the appropriate mailbox database:

Get-Mailbox -monitoring | fl name,*database*

or for a specific database:

Get-Mailbox -monitoring -database "My Database" | fl name,*database*

e.g.:

Name                         : HealthMailboxy983865947agfj668c692cb19d1
Database                     : My Database
UseDatabaseRetentionDefaults : True
UseDatabaseQuotaDefaults     :
ArchiveDatabase              : My Database
DisabledArchiveDatabase      :

In my case there was only one health mailbox - although there should be two (one for user mailboxes and the other for public fodlers) by default...

** I also noticed other mailboxes databases had corrupted health mailboxes as follows:

WARNING: The object domain.com/Microsoft Exchange System Objects/Monitoring Mailboxes/HealthMailbox35ea0e8476eb6c21b9c02c63c31 has been corrupted, and it's in an inconsistent state. The following validation errors happened:
WARNING: Database is mandatory on UserMailbox.
WARNING: Database is mandatory on UserMailbox.

So in this case I had to manually re-create them:

Firstly delete ALL of the health mailbox objects in the "Monitoring Mailboxes" folder as follows:

Go to ADSIEdit >> Connect to "Default naming context" >> DC=your,DC=domain >> CN=Microsoft Exchange System Objects >> CN=Monitoring Mailboxes >> Delete all of the Health Mailbox objects.

We will then restart the Exchange Health Manager service and after a few minutes Exchange will re-create the health mailboxes:

Restart-Service MSExchangeHM

and verify the new health mailboxes have been created:

Get-Mailbox -monitoring -database "My Database" | fl name,*database*

0 comments:

Post a Comment