Поделиться через


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

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

Симптомы

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

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

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

У пользователя нет почтового ящика 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 не задано значение:

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

Разрешение

Чтобы устранить эту проблему, выполните следующие действия.

  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 щелкните правой кнопкой мыши учетную запись системного почтового ящика, федеративного почтового ящика или почтового ящика поиска обнаружения, а затем выберите пункт Свойства.
    2. В разделе Атрибут щелкните homeMDB>Edit (Изменить).
    3. Введите или вставьте значение атрибута HomeMDB , скопированное на шаге 4.
    4. Два раза нажмите кнопку ОК.
  6. В меню Файл выберите пункт Выход.

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

    repadmin /syncall /e
    

Дополнительная информация

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

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