将 Apple iOS 设备更新到 iOS 7.0 后,无法同步 Exchange 邮箱

应用对象
Exchange Server 2010 Standard Exchange Server 2010 Enterprise Exchange Server 2013 Standard Edition Exchange Server 2013 Enterprise Edition

症状

请考虑以下情形:

  • 用户的邮箱托管在 Microsoft Exchange Server 2010 或 Microsoft Exchange Server 2013 上。
  • 用户将 Apple iOS 设备更新到 iOS 7.0。
  • 用户尝试将基于 iOS 7.0 的设备与 Exchange Server 邮箱同步。

在此方案中,用户无法将其基于 iOS 7.0 的设备与托管在 Exchange Server 上的邮箱同步。 此外,以下事件记录在具有客户端访问角色的 Exchange Server 2010 计算机或 Exchange Server 2013 计算机上的应用程序日志中:

注意

ID: 4999
级别:错误
来源: MSExchange 通用
消息:即将发送的 Watson 报告 进程 ID:进程 ID>,参数:E12、<生成类型>、<应用程序版本>、AirSync、M.Exchange.Compliance、M.E.S.C.MessageDigestForNonCryptographicPurposes.HashCore、System.ArgumentOutOfRangeException、<callstackHash>、<程序集版本>。 <

此外,Exchange ActiveSync 日志中会记录类似下面这样的错误消息。

请注意,如果基于 iOS 7.0 的设备在服务器异常返回后重复发送 Provision 命令,则此 Provision 命令的状态 110 错误可能会出现多次。 在测试中,某些 iOS 设备发送 Provision 命令的次数超过 2,000 次,即使在连续失败之后也是如此。

注意

AssemblyVersion :
14.02.0328.009

标识符:
4D7D0057

RequestHeader :
POST /Microsoft-Server-ActiveSync/default.eas?User=johndoe&DeviceId=ApplDMPGH8DWDFJ3&DeviceType=iPad&Cmd=Provision HTTP/1.1
连接: keep-alive
内容长度:136
Content-Type: application/vnd.ms-sync.wbxml
接受:*/*
接受-编码: gzip、deflate
接受语言: en-us
授权:********
Cookie: Cookie=R3437444435
主机:contosocas.com
用户代理:Apple-iPad2C2/1101.465
MS-ASProtocolVersion: 14.1

RequestBody :
<?xml version=“1.0” encoding=“utf-8” ?>
<Provision xmlns=“Provision:”>
                 <DeviceInformation xmlns=“Settings:”>
                                 <设置>
                                                 <型号>iPad2C2</型号>
                                                 <UserAgent>iOS/7.0 (11A465) dataaccessd/1.0</UserAgent>
                                                 <OS>iOS 7.0 11A465</OS>
                                                 <OSLanguage>en</OSLanguage>
                                                 <FriendlyName>Black iPad 2</FriendlyName>
                                 </设置>

                 </DeviceInformation>
                 <策略>
                                 <策略>
                                                 <PolicyType>MS-EAS-Provisioning-WBXML</PolicyType>
                                 </Policy>
                 </Policies>
</provision>

Command_WorkerThread_Exception:
---异常开始---
异常类型:System.ArgumentOutOfRangeException
异常消息:需要非负数。
参数名称:count
异常级别:0
异常堆栈跟踪:在 System.Buffer.BlockCopy (数组 src、Int32 srcOffset、数组 dst、Int32 dstOffset、Int32 count)
   在 Microsoft.Exchange.Security.Compliance.MessageDigestForNonCryptographicPurposes.HashCore (Byte[] array, Int32 ibStart, Int32 cbSize)
   在 System.Security.Cryptography.HashAlgorithm.ComputeHash (Byte[] buffer)
   位于 Microsoft.Exchange.Configuration.SQM.SmsSqmDataPointHelper.Generate64BitUserID (字符串 legacyDN)
   在 Microsoft.Exchange.Configuration.SQM.SmsSqmDataPointHelper.AddDeviceInfoReceivedDataPoint (SmsSqmSession 实例、ADObjectId id、字符串 legacyDN、字符串 deviceType、字符串 versionString)

   在 Microsoft.Exchange.AirSync.DeviceInformationSetting.ProcessSet (XmlNode setNode)
   在 Microsoft.Exchange.AirSync.DeviceInformationSetting.Execute ()
   在 Microsoft.Exchange.AirSync.ProvisionCommand.ProcessDeviceInformationSettings (XmlNode 响应)
   在 Microsoft.Exchange.AirSync.ProvisionCommand.ExecuteCommand ()
   在 Microsoft.Exchange.AirSync.Command.WorkerThread ()
--- 异常结束---

AccessState :
允许
AccessStateReason :
全局

ResponseHeader :
HTTP/1.1 200 OK

ResponseBody :
<?xml version=“1.0” encoding=“utf-8” ?>
<Provision xmlns=“Provision:”>
                 <状态>110</状态>
</provision>

原因

出现此问题的原因是 ActiveSync 和 W3wp.exe 的多个线程同时尝试访问受保护的对象。 这会使对象进入错误状态。

解决方法

Exchange Server 2013

若要在 Exchange Server 2013 中解决此问题,请安装以下 Microsoft 知识库文章中描述的更新:

2859928 Exchange Server 2013 累积更新 2 的说明

Exchange Server 2010

若要在 Exchange Server 2010 中解决此问题,请安装 Microsoft 知识库中的以下文章中描述的更新汇总:

2866475 Exchange Server 2010 SP3 更新汇总 2 的说明

状态

Apple 正在调查 iOS 7.0 设备在返回错误后发送许多预配命令的问题。 我们将在有更多信息时更新本文。

详细信息

使用 Exchange Server 对 ActiveSync 进行故障排除导引演练有助于解决以下问题:

  • 无法在设备上创建配置文件
  • 无法连接到服务器
  • 邮件问题
  • 日历问题
  • 设备/CAS 性能延迟