當您在 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
任何值:
- 一或多個系統信箱
- 同盟信箱
- 探索搜尋信箱
解決方案
若要解決此問題,請遵循下列步驟:
啟動 ECP。
確認一或多個信箱處於不一致的狀態。 若要這樣做,請輸入下列 Cmdlet,然後按 Enter:
Get-Mailbox -Arbitration |fl name, alias
注意事項
您可能會收到類似下列的錯誤訊息。 此錯誤訊息會確認一或多個系統信箱或同盟信箱處於不一致的狀態:
警告: 物件 SystemMailbox{1f05a927-9daf-4003-9bf7-036822f96290} 已損毀,且已損毀
處於不一致的狀態。 發生下列驗證錯誤:
警告:UserMailbox 上必須要有資料庫。
警告:UserMailbox 上必須要有資料庫。確認信箱的屬性值
HomeMDB
遺失。 若要這樣做,請在 ECP 中輸入下列 Cmdlet,然後按 Enter:Get-Mailbox |fl name, alias
注意事項
下列錯誤訊息指出屬性的
HomeMDB
值遺失:
UserMailbox 上必須要有資料庫HomeMDB
複製與系統信箱、同盟信箱或探索搜尋信箱相同資料庫中信箱的屬性值。 如果要執行這項操作,請依照下列步驟執行:按兩下 [開始],在 [搜尋程式和檔案] 方塊中輸入 Adsi Edit,然後按 Enter。
在 [動作] 功能表上,按一下 [連線至]。
按兩下 [選取或輸入網域或伺服器],選取您想要的伺服器,然後按兩下 [ 確定]。
展開 [預設命名內容],然後按下列專案:
DC=domain,DC=com
按兩下 [CN=Users]。
以滑鼠右鍵按兩下使用者信箱,然後按下 [ 屬性]。
在 [ 屬性] 下,按兩下 [homeMDB>編輯]。
複製屬性的
HomeMDB
值,然後按兩次。
在系統
HomeMDB
信箱、同盟信箱或探索搜尋信箱帳戶上設定屬性值。 如果要執行這項操作,請依照下列步驟執行:- 在 [ADSI 編輯] 中,以滑鼠右鍵按兩下系統信箱、同盟信箱或探索搜尋信箱的帳戶,然後按兩下 [ 內容]。
- 在 [ 屬性] 下,按兩下 [homeMDB>編輯]。
- 輸入或貼上
HomeMDB
您在步驟 4 中複製的屬性值。 - 按兩次 [確定]。
按一下 [檔案] 功能表的 [結束]。
複寫樹系。 若要這樣做,請在提升許可權的命令提示字元中輸入下列 Cmdlet,然後按 Enter:
repadmin /syncall /e
其他相關資訊
如需屬性的 HomeMDB
詳細資訊,請參閱 HomeMDB 屬性。
如需系統語音應答信箱上遺漏屬性值 HomeMDB
時可能發生之問題的詳細資訊,請參閱 系統語音應答 homeMDB 屬性遺失。