在 \Autodiscove 機碼下有登錄設定時的意外的自動探索行為

徵狀

當 Microsoft Outlook 嘗試從執行 Microsoft Exchange Server 的伺服器擷取自動探索資訊時,如果您使用的是一個或多個可用於控制自動探索的可用登錄值,則可能會遇到意外結果。

原因

當 Outlook 嘗試使用用戶端存取伺服器 (CAS) 角色聯繫 Exchange 伺服器上的自動探索服務時,它可以使用幾種不同的方法來訪問該服務,具體取決於用戶端-伺服器拓撲。 Outlook 目前採用的實施方法如下:

  • SCP 查找
  • HTTPS 根網域查詢
  • HTTPS 自動探索網域查詢
  • 本地 XML 檔案
  • HTTP 重定向方法
  • SRV 記錄查詢
  • Outlook 設定檔中的快取 URL(Outlook 2010 版本 14.0.7140.5001 及更高版本的新版本)
  • 直接連線到 Office 365(Outlook 2016 版本 16.0.6741.2017 及更高版本)

預設情況下,如果 Outlook 無法進行自動探索,它將嘗試其中一個或多個方法。 例如:在機器未加入網域的案例中,Outlook 將使用 DNS 嘗試連線到預先定義的 URL (例如:https://autodiscover.contoso.com/autodiscover/autodiscover.xml)。 如果失敗,Outlook 將嘗試 HTTP 重新導向方法。 如果再次失敗,Outlook 將嘗試使用 SRV 記錄查找方法。 如果所有查找方法都失敗,Outlook 將無法取得 Outlook Anywhere 設定和 URL 設定。

有關 Outlook 使用的不同自動探索連線方法的詳細資訊,請參閱以下 Exchange 自動探索服務文件:

但是,在某些情況下,您可能希望使用與自動探索相關的登錄/原則值來控制 Outlook 用於達到自動探索的方法。 但是,如果配置的自動探索登錄/策略值不正確,可能會阻止 Outlook 獲取自動探索資訊。

解決方案

要解決此問題,請查看 Outlook 用戶端上可能存在的與自動探索相關的登錄資料,以確保正確設定資料。 此外,如果您不確定是否需要登錄資料,請考慮將這些登錄值中的任何一個改為零 (0),然後測試 Outlook 以查看在自動探索中是否遇到差異。

重要

這個章節、方法或工作包含修改登錄的步驟。 然而,不當修改登錄可能會發生嚴重的問題。 因此,請務必謹慎地依照這些步驟執行。 為了有多一層保護,請先備份登錄再進行修改。 如此一來,您就可以在發生問題時還原登錄。 如需有關如何備份和還原登錄的詳細資訊,請參閱 Microsoft 知識庫中的下列文章:322756 如何在 Windows 中備份及還原登錄

  1. 啟動 [登錄編輯程式]。

  2. 找出並選取下列登錄子機碼:

    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)。

  3. 查看可能位於 \Autodiscover subkey 下的以下可能的 DWORD 值。

    • PreferLocalXML

    • PreferProvidedEmailInAutoDiscoverAuthPrompts

      此值使 Exchange 管理員能夠指定在自動探索案例期間是否使用設定的帳戶電子郵件或使用者主體名稱 (UPN) 對使用者進行驗證。 如需更多資訊,請參閱 2019 年 11 月 5 日,Outlook 2016 更新 (KB4484139)

    • ExcludeHttpRedirect

    • ExcludeHttpsAutoDiscoverDomain

    • ExcludeHttpsRootDomain

    • ExcludeScpLookup

    • ExcludeSrvRecord

    • ExcludeLastKnownGoodURL (僅適用於 Outlook 2010 版本 14.0.7140.5001 和更新版本)

    • ExcludeExplicitO365Endpoint (僅適用於 Outlook 2016 版本 16.0.6741.2017 及更高版本)

    注意

    某些文檔指出,Outlook 在此方案中使用 ExcludeSrvLookupvalue。 遺憾的是,此文件不正確,因為 Outlook 代碼中不存在 ExcludeSrvLookup 值。 Outlook 僅使用 ExcludeSrvRecordregistry 值來控制自動探索的 SRV 記錄查找。 因此,如果在 \Autodiscovery 子機碼下找到名為 ExcludeSrvLookup 的值,則可以安全地將其值變更為 0。

  4. 重復以下登錄子機碼步驟 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 檢索自動探索資訊的方法:

  1. 啟動 Outlook。
  2. 按 CTRL 鍵,在通知區域中的 Outlook 圖示上按右鍵,然後按一下 [測試電子郵件自動設定]。
  3. 驗證是否在電子郵件地址框中正確輸入電子郵件地址。
  4. 如果您未登入網域域,或者您正在訪問與郵箱不同的郵箱,請輸入密碼。
  5. 按一下以清除 [使用 Guessmart] 和安全猜測身份驗證核取方塊。
  6. 按一下 [測試]。
  7. 查看 [記錄] 分頁上的詳細資訊。

下圖顯示了將 [ExcludeScpLookup] 和 [ExcludeHttpsAutoDiscoverDomai] 值設定為 1 時的 [記錄] 分頁。

螢幕擷取畫面顯示了將 [ExcludeScpLookup] 和 [ExcludeHttpsAutoDiscoverDomai] 值設定為 1 時 [記錄] 分頁下的資訊。

與只將 [ExcludeScpLookup] 設定為 1 時的資訊進行比較。

螢幕擷取畫面顯示當 ExcludeScpLookup 值設定為 1 時在「記錄」分頁下的資訊。

注意

請忽略這些圖表中的失敗,因為此資訊僅用來向您顯示 Outlook 所做的不同查閱嘗試。

此外,如果啟用登入 Outlook (2007 或 2010) ,可以在 %temp%_Olkdisc.log 檔中找到不同的自動探索查找嘗試次數。 此記錄檔案還包括您配置為排除任何自動探索查找方法的任何登錄設定。 在下圖中,您可以清楚地看到 ExcludeScpLookup 和排 ExcludeHttpsAutoDiscoverDomain 值都設定為 1。

螢幕擷取畫面顯示了 ExcludeScpLookup 和 ExcludeHttpsAutoDiscoverDomain 都開啟的記錄檔。

有關自動探索用戶端管理和管理的詳細資訊,請訪問以下知識庫文章:

2612922 如何使用群組原則控制 Outlook AutoDiscover