Discovery Search Fails w. Error "The user does not have an exchange mailbox"

 

SYMPTOMS

1. When you go to Exchange Control Panel (ECP) to do a Multi-Mailbox Search, you may receive the following error:

The user does not have an exchange mailbox

You  may receive this error both when you are using the Discovery Search Mailbox as the target mailbox for the search and when using a regular user mailbox as the target for the search.

2. You may receive the following event in the application log:

Log Name: Application
Source: MSExchange Configuration Cmdlet - Remote Management
Date: 5/27/2010 2:35:37 PM
Event ID: 5
Task Category: General
Level: Error
Keywords: Classic
User: N/A
Computer: COMPUTERNAME.domainname.com
Description:
(PID 6268, Thread 53) Task New-MailboxSearch throwing terminating exception at stage Microsoft.Exchange.Data.Storage.UserHasNoMailboxException: The user does not have an Exchange mailbox.
at Microsoft.Exchange.Data.Storage.ExchangePrincipal.InternalFromADUser(ADUser user, ADObjectId mdb, DatabaseLocationInfo databaseLocationInfo, Boolean ignoreSiteBoundary)
at Microsoft.Exchange.Data.Storage.Infoworker.MailboxSearch.MailboxDataStore.OpenMailboxSession(ADUser adUser)
at Microsoft.Exchange.Data.Storage.Infoworker.MailboxSearch.MailboxDataStore..ctor(ADUser adUser)
at Microsoft.Exchange.Data.Storage.Infoworker.MailboxSearch.MailboxDataProvider.OpenMailboxStore()
at Microsoft.Exchange.Data.Storage.Infoworker.MailboxSearch.MailboxDataProvider.Exists[T](String name)
at Microsoft.Exchange.Management.Tasks.NewMailboxSearch.PreSaveValidate(SearchObject savedObject)
at Microsoft.Exchange.Management.Tasks.NewMailboxSearch.InternalEndProcessing(). Exception: {4c1ab22a-bd1d-41e9-b178-5e75ffd14563}


CAUSE

The issue may occur due to one or more of the following reasons:

1. There are one or multiple System mailboxes in an inconsistent state because the HomeMDB attribute is missing.
2. The Federated mailbox is in an inconsistent state because the HomeMDB attribute is missing.
3. The Discovery Search mailboxes is in an inconsistent state because the HomeMDB attribute is missing.

In order to check to see if one of the above reasons applies, follow the steps below:

1. Run the following command in the Exchange Command Shell:

Get-Mailbox -Arbitration |fl name, alias

2. You may receive an error or errors from running the command above that one or two of the System Mailboxes and the Federated Mailbox are in an inconsistent state – see the following example results:

WARNING: The object xxxxx/xxxxx/SystemMailbox{1f05a927-9daf-4003-9bf7-036822f96290} 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.

3. Run the following command in the Exchange Command Shell Get-Mailbox |fl name, alias on the Discovery Search Mailbox and look for the same error.

4. The error “Database is mandatory on UserMailbox” means that there is no value for the HomeMDB attribute for the mailbox in question – either one or two System Mailboxes, or the Federated Mailbox, or possibly the Discovery Search Mailbox.


RESOLUTION

1. Open ADSIEdit – go to the properties of a regular user with a mailbox on the same database as the particular System Mailbox, Federated Mailbox, or Discovery Search Mailbox and copy the correct HomeMDB attribute to the correct System Mailbox, Federated Mailbox, or Discovery Search Mailbox.

2. On the Domain Controller which you made the changes to the HomeMDB attribute for the 4 mailboxes, go to an elevated command prompt and Replicate the entire Forest using the following command:

repadmin /syncall /e - to replicate the entire forest

3. You should now successfully be able to search using the Discovery Search Mailbox using ECP.

MORE INFORMATION

For more information on the HomeMDB attribute, click on the following link:

HomeMDB
https://msdn.microsoft.com/en-us/library/aa487565(v=exchg.65).aspx

Written by Bob Want, Senior Support Escalation Engineer, Enterprise Communications Services, Microsoft

Technically Reviewed by Dan Rowley, Senior Support Escalation Engineer, Enterprise Communications Services, Microsoft and Naveen Vasudevan, Technical Lead, Enterprise Communications Services, Microsoft