Exchange 2003 脱机通讯簿排错

脱机地址簿(OAB)的问题,其中一个最常见的问题就是Parent Distinguished Names(PDN)更改。以下是关于排错OAB PDN更改的问题的经验。
什么是PDN表格?
PDN表格是被父辨别名称的脱机地址簿生成器(OABGen)维护的一个字符表格。当脱机地址簿生成过程在生成一个地址列表的时候,它将把属于对象的ExchangeLegacyDN 和x500 代理地址分为两个不同的部分:
PDN – 父辨别名称 – /o=ORG/ou=SITE/cn=CONTAINER/
RDN – 相对辨别名称 – /CN=test
PDN表格被用来作为Exchange 客户端(像Microsoft Outlook)的参考,当它组成邮件收件人的MAPI ID 条目时。因为OAB中大多数收件人都共享PDN的一小部分设置,用一个表格来节省空间避免为每个收件人单独存储它们。在Exchange 2003 SP2 之前,OAB生成过程在处理PDNs的增加和删除时有问题。当检测到PDN表格发生更改,它将引起OAB生成过程跳过一天的差异文件生成。OAB Version 2 和 OAB Version 3a 的客户端受到该问题的影响,结果导致客户端下载完整的OAB。随着Exchange 2003 SP2 的出现,这对OAB Version 4 客户端(Outlook 2003 SP2 和以后的版本)来说已经不在是一个问题了。
注意:当您使用Offline Address Book version 4的时候,您必须在服务器上使用Exchange 2003 SP2 (或以后的版本)和在客户端上使用Outlook 2003 SP2 (或以后版本)。问题的症状
在用户的Exchange 服务器上的应用程序日志文件中,出现了下面的错误日志:
事件类型: Warning
事件来源: MSExchangeSA
事件类别: OAL Generator
事件 ID: 9340
日期: 5/31/2008
时间: 4:09:15 AM
计算机: SERVERNAME (考虑到用户的安全,我将实际的计算机名做了修改)
描述 :
为脱机地址列表”\全局地址列表”生成差异更新文件的过程中,发现了新的父级旧版 Exchange DN 容器值”/o=ORG/ou=SITE/cn=Recipients/cn=Recipients”。这将强制使用此脱机地址列表的客户端完全下载该脱机地址列表。
事件类型: Warning
事件来源: MSExchangeSA
事件类别: OAL Generator
事件 ID: 9360
日期: 5/31/2008
时间: 4:09:15 AM
计算机: SERVERNAME
描述 :
OALGen 在为地址列表”\全局地址列表”的版本 2 和版本 3 差异下载生成 changes.oab 文件时遇到错误。脱机地址列表未更新,因此客户端无法下载当前更改集。请检查日志所记录的其他事件查找引起此错误的原因。
如果问题的原因是故意导致的或无法解决的,则可以通过在此服务器上创建 DWORD 注册表项”HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeSA\Parameters\OAL post full if diff fails”并将其设置为 1,来强制 OALGen 投递完整的脱机地址列表。当 OALGen 接下来生成脱机地址列表时,客户端将执行完整的 OAB 下载。然后,应该删除此注册表项以防止进一步的完全下载。
为了隔离该问题,我让用户在Exchange 服务器上运行Exchange 最佳实践分析工具(ExBPA),然后将生成的.xml文件发给我,我仔细分析了XML文件 ,没有发现和OAB相关的错误。这时问题的分析进入僵局。
我又仔细看了9340和9360两个错误日志,我觉得问题和”新的父级旧版 Exchange DN 容器值”的更改有关,但是如何检查这个容器值呢。OABinteg.exe该工具可以实现这个。
由于我把该工具发送给用户,并拷贝Outlook客户端上的C盘的根目录中,然后进入命令行模式,运行下面的命令:
OABInteg /s:ExchSrvrName /t:proxytest /v:2 /l
在运行该命令时,必须确保您使用的Outlook 配置文件处于在线模式,如果处于缓存模式的话,运行该命令会出现下面这些错误:
You are using a cached profile for your query. Please use an Online profile.
该命令运行完成后,会在C盘的根目录下生成OABinteg.txt文件,通过分析该文件,我发现下面这些信息:
Processing Address Book Entry #7 of 50.
Display Name = Object is a Distribution list object
LegacyExchangeDN starts with ‘/o=’ or ‘/O=’. Value =/o=org/ou=site/cn=Recipients/cn=Recipients/cn=user@abc.com
ERROR: LegacyExchangeDN has the ‘@’ character present. This is a PDN issue and this can cause full downloads.
让用户在域控制器上使用adsiedit.msc工具来查看user@abc.com 的LegacyExchangeDN属性。该工具包含在Windows support tool中。正常的用户的LegacyExchangeDN属性 如图1所示,通过比较发现多了一个域名,修改过来后,然后执行下面的操作:


1、 打开活动目录站点和服务工具,展开站点,展开服务器,展开NTDS Settings,右键选中活动目录连接,选择立即复制。
2、 等待1小时左右,以便完成复制。
注意:这是一个推和拉的过程,您应该在所有的域控制器上进行双向的复制。
为了验证该错误已经彻底解决,我让用户执行下面的操作:
1. 打开Exchange 系统管理器,定位到Exchange 服务器,右键选中它,选择属性,然后点击诊断日志,选中MSExchangeSA,选中OAL Generator,将下面的日志级别调整到最大

2. 定位到脱机地址簿,右键选中缺省的脱机地址簿,选择重建,
3. 然后观察应用程序事件日志,看是否出现Event ID为9340和9360的错误日志。
4. 用户反馈已经没有这样的日志了,问题到此完全解决。

Latest posts by Exchange中文站 (see all)
发布于: 浏览:2442 次

还没有评论

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据