问题:
我如何排除故障并修复 Outlook 2013 客户端,以便他们可以提取邮件提示、设置外出通知(自动回复)以及查看空闲/忙碌状态?
细节:
该服务器是运行在 Server 2008R2 上的 Exchange 2010 build 14.03.0361.001。Outlook 2016 100% 运行正常,没有任何问题。所有功能均可通过 OWA 运行。这表明该服务器能够提供 Exchange Web 服务 (EWS)。使用 Outlook 2013 或更低版本的用户无法查看邮件提示、OOF 和空闲/忙碌可用性。我发现导致这些错误的原因有很多。我对 Outlook 2016 中的行为差异很感兴趣,这种差异允许它在 2013 客户端无法从服务器提取数据时从服务器提取数据。
相关错误:
尝试设置自动回复(外出时)时
“无法显示您的自动回复设置,因为服务器当前不可用”
撰写新消息时
“我们现在无法显示邮件提示”
尝试安排会议时
“无法提供建议,因为无法检索忙/闲数据。”
日程安排助理对所有受邀与会者显示“无信息”。
我尝试过的方法:
- 我已经完成了所有的 AutoDiscover\AutoConfiguration 故障排除,我发现我的所有 URL 都是正确的,并且 AutoDiscover 工作正常。
- 我已确保 DNS 使用 AutoDiscover 的 SRV 记录正确设置。
- 我已经测试了受影响客户端的 AutoDiscover 中的 URL,它们可以毫无问题地提取 XML 文件。
- 我已尝试在受影响的系统上创建新的 Outlook 配置文件。
- 在 Exchange 服务器上重建 EWS 虚拟目录
- 我读过无数文章并搜索了所有论坛,包括官方的和随机的。
答案1
我找到了解决方案。对于外部人员来说,诊断起来并不容易,但答案可能会帮助其他处于与我一样奇怪情况的人。使用 wireshark,我分析了一个 OOO 请求,发现 3 组“客户端 Hello”数据包,服务器响应为“ACK RST”。这表明这是安全通道协商失败。我注意到我的客户端 hello 是 TLS v1.0,这让我想知道为什么它不使用 TLS v1.1 或 1.2,这让我找到了答案。在没有特殊补丁的情况下,在 Windows 7 上运行的 Office 2013 无法通过 TLS v1.1 或 v1.2 进行通信。
解决方案:
确定您要启用的 TLS 版本,并确定 DefaultSecureProtocols 的相应值(我们将很快添加):
For only TLS 1.1 and 1.2, the value will be 0xA00 For TLS 1.0, 1.1, and 1.2, the value will be 0xA80
安装KB3140245更新,可以通过 Windows 更新 - 它作为可选更新提供,或者通过 Microsoft 更新目录获取并像任何其他更新(SCCM 等)一样部署。
DefaultSecureProtocols
在以下两个位置创建一个名为的 DWORD 值,并将其值设置为步骤 1 中确定的值:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp
在以下位置创建一个名为
DisabledByDefault
set it to 的DWORD 值:0
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client
来源:
KB3140245 更新: