Ошибка при выполнении поиска с несколькими почтовыми ящиками в Exchange Server 2010: у пользователя нет почтового ящика Exchange

Исходный номер базы знаний: 2702446

Симптомы

Рассмотрим следующий сценарий:

  • Вы запускаете панель управления Exchange (ECP) в Microsoft Exchange Server 2010 Enterprise или в Exchange Server 2010 Standard.
  • Вы выполняете поиск по нескольким почтовым ящикам.
  • Поиск в нескольких почтовых ящиках использует системный почтовый ящик, почтовый ящик Discovery Search или почтовый ящик Федерации в качестве целевого объекта для поиска.

В этом сценарии может появиться следующее сообщение об ошибке:

У пользователя нет почтового ящика Exchange

Кроме того, в журнале приложений зарегистрировано следующее событие:

Log Name: Application
Source: MSExchange Configuration Cmdlet - Remote Management
Event ID: 5
Task Category: General
Level: Error
Keywords: Classic
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}

Причина

Эта проблема может возникать, если один или несколько следующих почтовых ящиков находятся в несогласованном состоянии, так как для атрибута не задано никакое HomeMDB значение:

  • Один или несколько почтовых ящиков системы
  • Федеративный почтовый ящик
  • Почтовый ящик Search Discovery

Резолюция

Проблему можно устранить следующим способом.

  1. Запустите ECP.

  2. Убедитесь, что один или несколько почтовых ящиков находятся в несогласованном состоянии. Для этого введите следующий командлет и нажмите клавишу ВВОД:

    Get-Mailbox -Arbitration |fl name, alias
    

    Замечание

    Может появиться сообщение об ошибке, похожее на следующее. Это сообщение об ошибке подтверждает, что один или несколько системных почтовых ящиков или федеративный почтовый ящик находится в несогласованном состоянии:

    ПРЕДУПРЕЖДЕНИЕ: объект SystemMailbox{1f05a927-9daf-4003-9bf7-036822f96290} поврежден.
    в несогласованном состоянии. Произошли следующие ошибки проверки:
    ПРЕДУПРЕЖДЕНИЕ. База данных является обязательной в UserMailbox.
    ПРЕДУПРЕЖДЕНИЕ. База данных является обязательной в UserMailbox.

  3. Убедитесь, что значение атрибута HomeMDB отсутствует для почтового ящика. Для этого введите следующий командлет в ECP и нажмите клавишу ВВОД:

        Get-Mailbox |fl name, alias
    

    Замечание

    Следующее сообщение об ошибке указывает, что значение атрибута HomeMDB отсутствует:
    База данных является обязательной в UserMailbox

  4. Скопируйте значение атрибута HomeMDB для почтового ящика в той же базе данных, что и системный почтовый ящик, федеративный почтовый ящик или почтовый ящик для поисковых запросов. Для этого выполните следующие действия.

    1. Нажмите "Пуск", введите Adsi Edit в поле "Поиск программ и файлов" и нажмите клавишу ВВОД.

    2. В меню Действие щелкните Подключиться к.

    3. Нажмите кнопку "Выбрать" или введите домен или сервер, выберите нужный сервер и нажмите кнопку "ОК".

    4. Разверните контекст именования по умолчанию и выберите следующий элемент:

      DC=domain,DC=com

    5. Дважды щелкните CN=Users.

    6. Щелкните правой кнопкой мыши почтовый ящик пользователя и выберите пункт "Свойства".

    7. В разделе "Атрибут" щелкните homeMDB>Edit.

    8. Скопируйте значение атрибута HomeMDB и нажмите кнопку "ОК " два раза.

  5. HomeMDB Задайте значение атрибута в системном почтовом ящике, федеративном почтовом ящике или учетной записи для поиска в почтовом ящике. Для этого выполните следующие действия.

    1. В ADSI Edit щелкните правой кнопкой мыши учетную запись для системного почтового ящика, федеративного почтового ящика или почтового ящика поиска обнаружения, а затем выберите пункт "Свойства".
    2. В разделе "Атрибут" щелкните homeMDB>Edit.
    3. Введите или вставьте значение атрибута HomeMDB , скопированное на шаге 4.
    4. Два раза нажмите кнопку ОК.
  6. В меню Файл выберите пункт Выход.

  7. Воссоздайте лес. Для этого введите следующий командлет в командной строке с повышенными привилегиями и нажмите клавишу ENTER:

    repadmin /syncall /e
    

Дополнительные сведения

Дополнительные сведения об атрибуте HomeMDB см. в разделе "Свойство HomeMDB".

Дополнительные сведения о проблеме, которая может возникнуть, когда значение атрибута HomeMDB отсутствует в почтовом ящике System Attendant, см. в разделе Атрибут homeMDB для System Attendant отсутствует.