组成这些列表的地址列表和对象以外,脱机地址簿也有自己的目录属性。活动目录有问题会导致脱机地址簿出现问题。例如,活动目录复制的中断或失败会阻止新增加的目录对象出现在脱机地址簿中。
几个Exchange 服务器组件和活动目录一起工作来生成和维护脱机地址簿。在脱机地址簿被创建后(被Exchange 安装自动创建或被有管理员使用Exchange System Manager 手动创建),Exchange 服务器和活动目录一起工作来维护脱机地址簿,从而与目录中的更改保持同步。
在脱机地址簿生成以后,它们位于公用文件夹中的系统文件夹中。您能够使用像MFCMapi 或者Exchange System Manager 来查看这些系统文件夹。
活动目录问题和OAB生成过程
活动目录问题能导致OAB出现问题。例如,一个Windows 账号和关联的Exchange 邮箱被创建。有几个全局编录服务器在环境中。在这个例子中,全局编录服务器之间的活动目录复制被中断因为维护操作。Exchange 服务器在产生脱机地址簿时连接到一个不含有最新账号信息的全局编录服务器。因此,该新账号不会显示在OAB中。
Exchange 组件回顾
下面这些组件可能会涉及到当您在解决OAB问题的时候:
Exchange Store 负责存储脱机地址簿下直接列出的脱机通讯簿系统文件夹。每次新建脱机通讯簿时,会在夜间联机维护的过程中创建相应的脱机通讯簿系统文件夹,包括容器(如 EX:/o=<组织名称>/ou=<管理组> 和 /o=<组织名称>/cn=addrlists/cn=oabs/cn=<脱机地址列表的名称>)。您能够使用像OABInteg、MFCMapi和Exchange System Manager 来查看这些邮件和附件。
目录服务器 在脱机通讯簿的生成中会使用 Active Directory 服务器。脱机通讯簿配置数据存储在 Active Directory 中的“配置命名上下文”分区中,这使其可用于所有的域控制器。此外,全局地址列表信息存储在全局编录服务器中。
收件人更新服务 虽然脱机通讯簿的生成无需使用收件人更新服务,但是地址列表会需要此组件。系统助理会调用收件人更新服务,该服务又会维护收件人的地址列表成员身份。如果地址列表为空,则脱机通讯簿的生成将失败。
系统助理 系统助理会调用 Oabgen.dll来进入该步骤。
OABGen.dll OABGen 是一个MAPI应用程序,它使用NSPI调用来从活动目录中查询地址列表信息。初次创建脱机通讯簿时,OABGen 会创建 OAB 版本 2、OAB 版本 3a 文件夹。
每次运行 OABGen 时,它都会执行一些任务:
· 为所有的脱机地址簿版本创建文件
· 它整理和压缩文件
· 它在系统文件夹中会为其经配置要生成的每个版本的脱机通讯簿创建公告。脱机通讯簿文件将保存为文件夹中公告上的附件。
· 它创建包含日常更改的增量脱机通讯簿文件。Exchange Server 2003 中的默认设置为每天凌晨 5:00 生成脱机通讯簿增量文件。
OAB生成过程
Exchange Server 2003 生成下面两种Microsoft Office Outlook 2003 脱机地址簿:
Unicode 脱机地址簿 (OAB Version 3) 该脱机地址簿对Exchange Server 2003来说是新的,它有其他的信息,能够帮助Microsoft Outlook 减少远程过程调用(RPCs)。此外,Unicode的脱机地址簿有新的特性,能够允许Outlook为脱机地址簿的语言区域使用正确的排序规则。
American National Standards Institute (ANSI) 脱机地址簿 Exchange Server 5.5和2000服务器使用该该脱机地址簿格式。Exchange Server 2003 也支持ANSI脱机地址簿。对于ANSI脱机地址簿来说有一些已知的问题,尤其对那些脱机地址簿有多个排序区域。
通过Exchange System Manager 或者在一个指定时间表内,一个地址列表能够被创建。系统助理直接调用OABGen.dll ,然后传递关于要创建OAB的信息。下面的步骤描述了该过程。
1. 在系统助理调用OABGen.dll 后,获得模板信息,两个模板文件被写好。对Exchange 服务器支持的每种客户端语言,两个相关的文件被创建(一个将以Windows 格式(lngXXX.oab)另外一个将以Macintosh格式(macXXX.oab))
2. 在系统助理完成模板文件处理后,它使用NSPI从活动目录中查询地址列表信息,并读出所有的地址列表条目。
3. 在查询结束的时候,系统助理处理该数据并将它写出到磁盘上的临时位置(系统临时目录)。
4. 该过程最后的步骤是压缩这些邮件附件(Browse.Oab, Details.Oab, Anrdex.Oab, Rdndex.Oab, 和一个模板文件Tmplts.Oab),然后将它们发布到各自的OAB系统文件夹中。
5. 在这个时候,OAD文件已经准备好让客户端去下载。
注意:只有Exchange 管理员通过访问来更改或者修改地址或显示模板,这些文件包含的数据才能够更改。
包含OAB数据的单个文件
在客户端侧,包含OAB数据的单个文件位于C:\Documents and Settings\UserName\Local Settings\Application Data\Microsoft\Outlook。
Anrdex.oab 该文件是一个索引,用来解析模糊名称。
Browse.oab 这是一个核心文件。该文件包含每个对象的对象类型、显示名称和Details.oab 文件中的指针
Details.oab 该文件包含所有的对象的详细信息(那些被包含在脱机地址簿的生成过程中),除了显示名称。
Pdndex.oab 该文件包含对域名的更改和它的列表。
Rdndex.oab 该文件是一个索引,用来解析相对可分辨名称。
Tmplts.oab 该文件包含对话框和脱机地址簿中任何其他静态条目字符串,该文件不会增加如果您增加其他对象到您的目录中。
此外,有六个Unicode 的文件类型:
Uanrdex.oab 该文件是Anrdex.oab 文件的Unicode 版本。
Ubrowse.oab 该文件是Browse.oab文件的Unicode 版本。
Udetails.oab 该文件是Details.oab文件的Unicode 版本。
Updndex.oab 该文件是Pdndex.oab文件的Unicode 版本。
Urdndex.oab 该文件是Rdndex.oab文件的Unicode 版本。
Utmplts.oab 该文件是Tmplts.oab文件的Unicode 版本。
脱机地址列表必须的属性
下面这些属性对于脱机地址列表来说是必须的:
addressBookRoots Exchange 使用该属性来配置地址簿容器树来显示在MAPI地址簿中。该属性能够在the Exchange Config 对象的属性中找到,它列出了地址簿容器树的所有根。
offlineABContainers 该属性是一个多值可分辨名称属性,它存储了地址列表的可分辨名称的一个列表,该地址列表应该包含在这个脱机地址簿中。
offlineABServer 该属性是一个单值可分辨名称属性,它存储了代表生成该脱机地址簿服务器的可分辨名称。该服务器必须运行Exchange 2000 Server 。
doOABVersion 该属性是一个单值整数属性,它存储了该指定地址簿和不同版本的Exchange 服务器之间的兼容性信息。该属性能够被设置为0或1。任何其他的值被保留以便将来使用。数值0表示该地址簿不需要兼容Exchange Server 4.0 和Exchange Server 5.0。数值1表示该地址簿应该兼容Exchange Server 4.0 和Exchange Server 5.0,除了Exchange Server 5.5 和 Exchange 2000 Server。
msExchOABFolder 该属性是一个单值八位字符属性,它总是被设置为一个变量数组和一个存储0字节数组的元素。它存在只是因为旧版本的Exchange 服务器。
offlineABSchedule 该属性是一个单值八位字符属性。它被设置为一个大小为84的字节数组,它存储脱机地址簿更新间隔时间表。该结构中的每位表示15分钟的增量,从星期天上午12:00开始。该结构中的每个字节表示2小时的增量。设置为 " 1 " 用来安排它以 15 分钟的间隔来运行。
offlineABStyle 该属性值是一个单值整数属性,它表示更多的一般的Exchange 服务器日程信息,如下:
· 0= 从不运行。 这与设置offlineABSchedule属性中的计划点中的每个字节为0x00是一样的。
· 1= 以存储在offlineABSchedule属性中的计划点指定的来运行。
· 2= 总是运行。这与设置offlineABSchedule属性中的计划点中的每个字节为0xFF是一样的。
legacyExchangeDN 该属性是一个单值可分辨名称属性,它存储了该地址列表属于的Exchange 组织的legacyExchangeDN 属性。Exchange System Manager 以<组织的旧域名>/cn=addrlists/cn=oabs/cn=<脱机地址簿的旧容器名称>的格式来创建它。
msExchOABDefault 该属性是一个单值布尔属性,它存储的值为True或False。如果设置为Ture,它表示对于没有为该储存显式指定的任何邮箱存储而言,该脱机地址列表是缺省的脱机地址列表。应该只有一个脱机地址簿将该值设置为True。
systemFlags 该属性值是一个单值整数属性,它存储了关于目录对象的系统信息。尽管该属性是可选的,它必须在创建的时候设置。该属性通过传递一个值来设置,该值由ADS_SYSTEMFLAG_ENUM 枚举来定义。有关ADS_SYSTEMFLAG_ENUM的信息,您可以参考MSDN 。
siteFolderGUID 该属性是一个单值八位字符属性,为脱机地址簿,它被设置为一个随机的唯一全局唯一标识符 (GUID) 值。
siteFolderServer 该属性是一个单值可分辨名称属性,它存储脱机地址簿位于的公用文件夹存储的可分辨名称。该公用文件夹存储应该和offLineABServer 在同一台服务器上,以避免网络流量。
msExchPurportedSearcyUIArray 该属性是一个多值属性,它存储必要的参数来为该脱机地址簿重建Exchange System Manager的脱机地址簿查询筛选器。该属性没有必要设置。如果它没有设置的话,当通过Exchange System Manager 查看的时候,脱机地址簿属性上的修改按钮将被禁用。修改该属性是不被支持的,也没有如何自定义该属性的文档。最佳方法是以编程的方式自定义它,从Exchange System Manager使用类似的查询筛选器创建一个脱机地址簿,拷贝该属性的值,把他们粘贴到您的代码中,来生成您通过编程方式来创建的新脱机地址簿。
自由广告区 |
分类导航 |
邮件新闻资讯: IT业界 | 邮件服务器 | 邮件趣闻 | 移动电邮 电子邮箱 | 反垃圾邮件|邮件客户端|网络安全 行业数据 | 邮件人物 | 网站公告 | 行业法规 网络技术: 邮件原理 | 网络协议 | 网络管理 | 传输介质 线路接入 | 路由接口 | 邮件存储 | 华为3Com CISCO技术 | 网络与服务器硬件 操作系统: Windows 9X | Linux&Uinx | Windows NT Windows Vista | FreeBSD | 其它操作系统 邮件服务器: 程序与开发 | Exchange | Qmail | Postfix Sendmail | MDaemon | Domino | Foxmail KerioMail | JavaMail | Winwebmail |James Merak&VisNetic | CMailServer | WinMail 金笛邮件系统 | 其它 | 反垃圾邮件: 综述| 客户端反垃圾邮件|服务器端反垃圾邮件 邮件客户端软件: Outlook | Foxmail | DreamMail| KooMail The bat | 雷鸟 | Eudora |Becky! |Pegasus IncrediMail |其它 电子邮箱: 个人邮箱 | 企业邮箱 |Gmail 移动电子邮件:服务器 | 客户端 | 技术前沿 邮件网络安全: 软件漏洞 | 安全知识 | 病毒公告 |防火墙 攻防技术 | 病毒查杀| ISA | 数字签名 邮件营销: Email营销 | 网络营销 | 营销技巧 |营销案例 邮件人才:招聘 | 职场 | 培训 | 指南 | 职场 解决方案: 邮件系统|反垃圾邮件 |安全 |移动电邮 |招标 产品评测: 邮件系统 |反垃圾邮件 |邮箱 |安全 |客户端 |