设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 3948|回复: 3

Exchange 2003 脱机地址簿排错经验谈

[复制链接]
发表于 2008-10-23 09:24:10 | 显示全部楼层 |阅读模式
    最近我帮用户诊断过一些脱机地址簿(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所示。
   

   
    2. 定位到脱机地址簿,右键选中缺省的脱机地址簿,选择重建,

  3. 然后观察应用程序事件日志,看是否出现Event ID为9340和9360的错误日志。
  4. 用户反馈已经没有这样的日志了,问题到此完全解决。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-4-16 17:35 , Processed in 0.099598 second(s), 25 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表