Share via


當您在 Exchange Server 2010 中執行多信箱搜尋時發生錯誤:用戶沒有 Exchange 信箱

原始 KB 編號: 2702446

徵狀

請試想下列案例:

  • 您會在 Microsoft Exchange Server 2010 Enterprise 或 Exchange Server 2010 Standard 中啟動 Exchange 控制台 (ECP) 。
  • 您可以執行多信箱搜尋。
  • 多信箱搜尋會使用系統信箱、探索搜尋信箱或同盟信箱作為搜尋目標。

在此案例中,您可能會收到下列錯誤訊息:

用戶沒有 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. 確認一或多個信箱處於不一致的狀態。 若要這樣做,請輸入下列 Cmdlet,然後按 Enter:

    Get-Mailbox -Arbitration |fl name, alias
    

    注意事項

    您可能會收到類似下列的錯誤訊息。 此錯誤訊息會確認一或多個系統信箱或同盟信箱處於不一致的狀態:

    警告: 物件 SystemMailbox{1f05a927-9daf-4003-9bf7-036822f96290} 已損毀,且已損毀
    處於不一致的狀態。 發生下列驗證錯誤:
    警告:UserMailbox 上必須要有資料庫。
    警告:UserMailbox 上必須要有資料庫。

  3. 確認信箱的屬性值 HomeMDB 遺失。 若要這樣做,請在 ECP 中輸入下列 Cmdlet,然後按 Enter:

        Get-Mailbox |fl name, alias
    

    注意事項

    下列錯誤訊息指出屬性的 HomeMDB 值遺失:
    UserMailbox 上必須要有資料庫

  4. HomeMDB複製與系統信箱、同盟信箱或探索搜尋信箱相同資料庫中信箱的屬性值。 如果要執行這項操作,請依照下列步驟執行:

    1. 按兩下 [開始],在 [搜尋程式和檔案] 方塊中輸入 Adsi Edit,然後按 Enter。

    2. 在 [動作] 功能表上,按一下 [連線至]。

    3. 按兩下 [選取或輸入網域或伺服器],選取您想要的伺服器,然後按兩下 [ 確定]

    4. 展開 [預設命名內容],然後按下列專案:

      DC=domain,DC=com

    5. 按兩下 [CN=Users]

    6. 以滑鼠右鍵按兩下使用者信箱,然後按下 [ 屬性]

    7. 在 [ 屬性] 下,按兩下 [homeMDB>編輯]

    8. 複製屬性的HomeMDB值,然後按兩次

  5. 在系統 HomeMDB 信箱、同盟信箱或探索搜尋信箱帳戶上設定屬性值。 如果要執行這項操作,請依照下列步驟執行:

    1. 在 [ADSI 編輯] 中,以滑鼠右鍵按兩下系統信箱、同盟信箱或探索搜尋信箱的帳戶,然後按兩下 [ 內容]
    2. 在 [ 屬性] 下,按兩下 [homeMDB>編輯]
    3. 輸入或貼上 HomeMDB 您在步驟 4 中複製的屬性值。
    4. 按兩次 [確定]。
  6. 按一下 [檔案] 功能表的 [結束]

  7. 複寫樹系。 若要這樣做,請在提升許可權的命令提示字元中輸入下列 Cmdlet,然後按 Enter:

    repadmin /syncall /e
    

其他相關資訊

如需屬性的 HomeMDB 詳細資訊,請參閱 HomeMDB 屬性

如需系統語音應答信箱上遺漏屬性值 HomeMDB 時可能發生之問題的詳細資訊,請參閱 系統語音應答 homeMDB 屬性遺失