Outlook 2016建新郵件資料檔時無法正常連線到Exchange Server 2010

症狀

新進使用者使用 Outlook 2016 建新郵件資料檔時發生連線到 Exchange Server 2010;或是完成設定後程式無回應,強迫關閉 Outlook 後再開啟時程式仍立即進入無回應狀態。

發生原因

雖然 Windows 7 和 IE 都支援 TLS 1.1 跟 TLS 1.2,但 Outlook On Windows 7 卻只支援TLS1.0,有一些Office 應用程式(包含Outlook在內),會使用到 WinHTTP ("Windows HTTP Services"),即使OS支援 TLS 1.1 跟 TLS 1.2,但 WinHTTP 卻只支援TLS 1.0,所以會造成連線問題。而修正這問題的更新(KB3140245)已於2016年三月釋出。
在 Exchange Server 2010 停用 TLS 1.0 後,Windows 7 用戶端必須依照 TLS 1.2 over WinHTTP 這篇文章修改設定讓使用WinHTTP Services 的應用或服務能透過 TLS 1.1 或 TLS 1.2 正常連線到 Exchange Server 2010。

解決方法

1. 決定 Outlook 要啟用的 TLS 版本 (因客戶需求,我們選擇只啟用 TLS 1.1 跟 TLS 1.2)
  • 只啟用 TLS 1.1 跟 TLS 1.2 : DefaultSecureProtocals 登錄 DWORD 值要設為 A00
  • 啟用 TLS 1.0、TLS 1.1 跟 TLS 1.2 : DefaultSecureProtocals 登錄 DWORD 值要設為 A80
2. 檢查 Windows 7 用戶端是否已安裝 KB3140245,如果沒有需安裝此更新。
3. 根據決定要啟用的 TLS 版本新增 DWORD 值 DefaultSecureProtocols 到登錄檔中位址。
  • (32bit OS) : HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp
  • (64bit OS) :
      1. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp
      2. HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp
4. 新增DWORD 值 DisabledByDefault 到以下登錄檔中位址。
    1. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client
    2. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client
5. 製作可派送的批次檔,內容如下。
==================================================================================================
if "%PROCESSOR_ARCHITECTURE%"=="x86" goto x86
if "%PROCESSOR_ARCHITECTURE%"=="AMD64" goto x64
exit

:x64
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp" /v DefaultSecureProtocols /t REG_DWORD /d 0x00000A00 /f

:x86
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp" /v DefaultSecureProtocols /t REG_DWORD /d 0x00000A00 /f
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client" /f
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client" /f
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client" /v DisabledByDefault /t REG_DWORD /d 0 /f
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client" /v DisabledByDefault /t REG_DWORD /d 0 /f
==================================================================================================

參考資料

1. Enabling TLS 1.1 and 1.2 in Outlook on Windows 7
2. Update to enable TLS 1.1 and TLS 1.2 as a default secure protocols in WinHTTP in Windows




留言

熱門文章