癥狀
當Microsoft Outlook 嘗試從執行 Microsoft exchange Server 的伺服器擷取自動探索資訊時,如果您使用一或多個可用來控制自動探索的可用登錄值,您可能會遇到非預期的結果。
原因
當 Outlook 嘗試聯繫具有客戶端存取伺服器 (CAS) 角色的 Exchange 伺服器上的 Autodiscover 服務時,根據客戶端-伺服器拓撲結構,它可以使用多種不同的方法來訪問該服務。 當前由 Outlook 使用的方法是:
- SCP 查閱
- HTTPS 根域名查詢
- HTTPS自動發現域查詢
- 本地 XML 文件
- HTTP重新導向方法
- SRV紀錄查詢
- Outlook 配置檔中的快取 URL (Outlook 2010 14.0.7140.5001 版和更新版本的新版)
- 直接連接至 Microsoft 365(適用於 Outlook 2016 版本 16.0.6741.2017 及後續版本的新功能)
預設情況下,如果無法連接到 Autodiscover,Outlook 會嘗試一種或多種這些方法。 例如,在機器未加入網域的情況下,Outlook 將嘗試使用 DNS 連接到預定的 URL(如 https://autodiscover.contoso.com/autodiscover/autodiscover.xml
)。 如果失敗,Outlook 會嘗試 HTTP 重新導向方法。 如果此方法也失敗,Outlook將嘗試使用SRV記錄查詢方式。 如果所有查找方法均失敗,Outlook 無法取得 Outlook Anywhere 的組態和 URL 設定。
若需了解 Outlook 使用的不同 Autodiscover 連接方法,請參閱以下 Exchange Autodiscover 服務文件。
在某些情況下,您可能想要使用與自動探索相關的登錄/原則值來控制 Outlook 用來連線到自動探索的方法。 不過,如果您設定自動探索登錄/原則值不正確,您可能會防止 Outlook 取得自動探索資訊。
解析度
為了解決此問題,請檢查您在 Outlook 客戶端上可能擁有的與 Autodiscover 相關的註冊表數據,並確保這些數據已正確配置。 此外,如果您不確定是否需要登錄數據,請考慮將這些登錄值的數據變更為零 (0),然後測試 Outlook 以查看您是否在自動探索中遇到差異。
重要
此部分、方法或任務包含告訴您如何修改登錄的步驟。 然而,如果您不正確地修改註冊表,可能會發生嚴重的問題。 因此,請務必仔細遵循這些步驟。 為了增加保護,請在修改前備份登錄檔。 然後,如果發生問題,您可以恢復登錄檔。 如需有關如何備份和還原註冊表的詳細資訊,請參閱 Microsoft Knowledge Base 中的以下文章:322756 如何在 Windows 中備份和還原註冊表
啟動登錄編輯器。
找到並選擇以下登錄子鍵:
HKEY_CURRENT_USER\Software\Microsoft\Office\x.0\Outlook\AutoDiscover
注意
在此註冊表路徑中,x.0 對應到 Outlook 版本(16.0 = Outlook 2016,15.0 = Outlook 2013,14.0 = Outlook 2010,12.0 = Outlook 2007)。
檢閱以下可能位於 \Autodiscover 子鍵下的 DWORD 值。
較偏好本地XML
偏好在自動發現驗證提示中提供的電子郵件
此值使 Exchange 管理員能夠指定在自動探索(AutoDiscover)情境下,是否使用配置的帳戶電子郵件或使用者主名稱(UPN)進行身份驗證。 如需更多資訊,請參閱 2019 年 11 月 5 日的 Outlook 2016 更新 (KB4484139)。
ExcludeHttpRedirect
ExcludeHttpsAutoDiscoverDomain
排除Https根網域
ExcludeScpLookup
ExcludeSrvRecord(排除伺服器記錄)
排除最後已知的良好 URL (僅適用於 Outlook 2010 版本 14.0.7140.5001 及更高版本)
ExcludeExplicitO365Endpoint(僅適用於 Outlook 2016 版本 16.0.6741.2017 及更高版本)
注意
有些文件指出,在這種情況下,Outlook 使用 ExcludeSrvLookupvalue。 不幸的是,這份文件是錯誤的,Outlook 程式碼中不存在 ExcludeSrvLookup 值。 只有 ExcludeSrvRecordRegistry 值會被 Outlook 用來控制自動探索 (Autodiscover) 的 SRV 記錄查找。 因此,如果您在 \Autodiscover 子鍵下找到一個名為 ExcludeSrvLookup 的值,您可以安全地將其值更改為 0。
重複步驟3,並使用以下註冊表子鍵:
HKEY_CURRENT_USER\Software\Policies\Microsoft\Office\x.0\Outlook\AutoDiscover
注意
在此註冊表路徑中,x.0 對應到 Outlook 版本(16.0 = Outlook 2016,15.0 = Outlook 2013,14.0 = Outlook 2010,12.0 = Outlook 2007)。
更多資訊
您可以在 Outlook 中使用以下步驟來確定 Outlook 嘗試從 Exchange 獲取自動探索資訊的方法。
- 啟動 Outlook。
- 按下 CTRL 鍵,在通知區域中以滑鼠右鍵點擊 Outlook 圖示,然後按一下測試電子郵件自動設定。
- 請核實電子郵件地址是否正確輸入在電子郵件地址欄中。
- 如果您尚未登入網域,或者正在存取不同於您信箱的信箱,請輸入您的密碼。
- 按一下以取消選擇「Use Guessmart」和「Secure Guessmart Authentication」複選框。
- 點擊測試。
- 請查看Log標籤頁上的詳細信息。
以下圖示顯示當 ExcludeScpLookup 和 ExcludeHttpsAutoDiscoverDomain 的值已設定為 1 時的 Log 標籤。
比較此資訊,當僅將 ExcludeScpLookup 值設為 1 時。
注意
忽略這些數字中的失敗,因為這些資訊僅旨在向您展示 Outlook 所做的不同查詢嘗試。
此外,如果您在 Outlook 中啟用記錄功能(2007 或 2010),您可以在 \%temp%\Olkdisc.log 檔案中找到不同的自動探索查閱嘗試。 此日誌檔案還包括您已配置的註冊表設定,以排除任何自動探索查找方法。 在下圖中,您可以清楚地看到 ExcludeScpLookup 和 ExcludeHttpsAutoDiscoverDomain 值都設定為 1。
若要瞭解有關自動發現的用戶端管理和行政的更多資訊,請參閱以下的知識庫文章。