解决Exchange 2010 日历同步问题的方法与探讨
案例背景
近期有用户反映,在将日历从Exchange 2010服务器同步至HTC Incredible S等移动设备时,遇到了一些棘手的同步障碍。特别是该用户的日历在首次尝试同步后,并未显示任何错误或警告信息,但仍然始终会跳出“Synchronization is experiencing problems”的提示。尽管他多次删除并重新导入日历信息,甚至将整个日历导出、重新导入等一系列操作都无法解决问题。有趣的是,同事们的日历却能顺利与手机成功同步。
解决方案
经过反复尝试和测试后,用户发现当对日历中的每一条事件进行内容修改(如更改标题)并保存后,再恢复原状,再试多次后最终可以完成日历的完整同步。作者为此编写了一个简单的VBA宏脚本来自动执行这些操作。
VBA宏代码示例
Sub ChangeAllItems()
Dim myolApp As Outlook.Application
Dim calendar As MAPIFolder
Dim aItem As Object
Set myolApp = CreateObject("Outlook.Application")
Set calendar = myolApp.ActiveExplorer.CurrentFolder
Dim strTemp As String
For Each aItem In calendar.Items
strTemp = aItem.Subject
' 对条目内容进行修改(更改主题)
aItem.Subject = strTemp & " "
aItem.Save
' 恢复主题
aItem.Subject = strTemp
aItem.Save
Next aItem
End Sub
替代方案与探讨
另一位用户表示,该问题似乎与通过PST文件迁移导致的问题有关。即从Exchange 2003服务器导出的PST文件在导入到Exchange 2010服务器后遇到的问题。这种情况下,使用Outlook或网页版收件器(OWA)可以正常访问数据,但当同步至移动设备时会出现错误信息。“编辑所有条目”是目前为止唯一能够解决问题的方法。但是作者同样感到好奇的是:除了这种方法外是否还有其他解决方案?
结论
此问题虽然找到了解决办法,但并不完全清楚为何会导致这样的现象。它为后来者提供了可行的路径,但对于深入了解Exchange服务器与移动设备同步机制间的兼容性仍具有不小的探索价值。
正文完