了解脱机通讯簿

 

适用于: Exchange Server 2007 SP3, Exchange Server 2007 SP2, Exchange Server 2007 SP1, Exchange Server 2007

上一次修改主题: 2007-08-27

脱机通讯簿 (OAB) 是已下载的地址列表集合的副本,通过此通讯簿,Microsoft Outlook 用户可以在与服务器断开连接的情况下访问它所包含的信息。Microsoft Exchange 生成新的 OAB 文件、压缩这些文件,然后将这些文件放在本地共享上。Exchange 管理员可以选择脱机工作的用户可以使用哪些地址列表,也可以配置分发通讯簿的方式。

有关地址列表的详细信息,请参阅了解地址列表

important要点:
在 Microsoft Exchange Server 2007 中,OAB 数据通过作为本地系统运行的 Microsoft Exchange 系统助理服务产生。如果管理员使用安全描述符来防止用户查看 Active Directory 目录服务中的某些收件人,则下载 OAB 的用户将能够看到这些隐藏的收件人。因些,要从地址列表中隐藏收件人,需要在 Set-PublicFolderSet-MailContactSet-MailUserSet-DynamicDistributionGroupSet-MailboxSet-DistributionGroups cmdlet 上设置 -HiddenFromAddressListsEnabled 参数。另外,您可以创建不包含隐藏收件人的新默认 OAB。有关如何在 OAB 中添加或删除地址列表的详细信息,请参阅如何添加或删除脱机通讯簿中的地址列表

Exchange 2007 中的改进

OAB 在 Exchange 2007 中进行了几项性能改进。具体地说,这些改进有助于最大程度地减小网络对下载 OAB 信息的用户的影响。下表说明了对 OAB 的一些改进:

  • 减少了导致客户端计算机下载整个 OAB 的情况。而客户端计算机将执行异步下载 OAB。这表示客户端计算机只下载当前的 OAB 的内容和可供下载的 OAB 的内容之间的更改。此类型的下载不会像完整下载那样影响网络性能和客户端性能。

  • 大大减小了 OAB 的完整下载。通过对 OAB 文件采用改进的压缩机制,实现了减小完整下载。

  • OAB 索引以客户端计算机的区域设置(语言和国家/地区)为基础。这样可使同一台服务器上的用户(具有不同的区域设置)能够根据其区域设置而非服务器的本地设置正确查看 OAB。

  • 后台智能传输服务 (BITS) 使您能够在客户端计算机和服务器之间异步传输文件。有关详细的信息,请参阅 About BITS

  • 利用诊断日志记录的改进,可以更方便地注意到在 OAB 下载时可能出现的问题。有关详细信息,请参阅 Exchange 进程的诊断日志记录

  • Exchange 2007 中的 OAB 生成在 OAB 列表中包含关于日语拼音名称的下列改进:

    • 日语拼音显示名

    • 日语拼音姓

    • 日语拼音名

    • 日语拼音公司名称

    • 日语拼音部门名称

  • Exchange 2007 包含 PR_DISPLAY_TYPE_EX 属性,该属性由 Outlook 2007 用来为整个林中复制的对象显示正确的图标。

Outlook 客户端和 OAB 版本

在 Exchange 2007 中,您可以指定生成的供客户端下载的 OAB 版本。可以使用下列选项:

  • OAB 版本 2(ANSI 脱机通讯簿)   此 OAB 格式可同时用于 Microsoft Exchange 2000 Server 和 Exchange Server version 5.5。Exchange Server 2003 还支持 ANSI OAB。Microsoft Outlook 98 或更高版本支持 OAB 版本 2。

  • OAB 版本 3(Unicode 脱机通讯簿)   此 OAB 用于 Exchange 2003。此 OAB 具有可帮助 Outlook 减少服务器远程过程调用 (RPC) 的其他信息。此外,Unicode OAB 具有与不同语言区域设置的排序规则相关的新功能。这些功能允许 Outlook 2003 或更高版本通过 OAB 为语言区域设置使用正确的排序规则。

  • OAB 版本 4(Unicode 脱机通讯簿)   此 OAB 是在 Exchange 2003 Service Pack 2 (SP2) 中引入的,受 Outlook 2003 Service Pack 2 (SP2) 和 Outlook 2007 支持。此 Unicode OAB 允许客户端计算机接收差异更新,而不是完整的 OAB 下载。

使用 OAB 版本 3 和版本 2 的 Outlook 客户端

对于使用 OAB 版本 3 和版本 2 的 Outlook 客户端,如果 Changes.oab 文件的大小为整个 OAB 文件大小的八分之一(或更多),则 Outlook 会启动完整的 OAB 下载。

例如,Outlook 将获得压缩的 Changes.oab 文件的大小。Outlook 然后将获得服务器上所有压缩的完整 OAB 文件(包括模板)的总大小。如果 Changes.oab 文件的大小大于完整 OAB 文件大小的八分之一,则 Outlook 将下载完整 OAB 而不是增量文件。

即使是对收件人属性进行次要更改,也将导致在 Changes.oab 文件中包含所有的收件人信息。以下是这些次要更改的示例:

  • 对大量收件人更新电话号码以反映新区号

  • 对大量收件人添加额外的代理地址

因此,仅对一半收件人的信息进行最少字节的更改就可能造成创建的 Changes.oab 文件大于整个 OAB 文件大小的八分之一。

使用 OAB 版本 4 的 Outlook 客户端

对于使用 OAB 版本 4 的 Outlook 2003 SP2 和 Outlook 2007,如果 Changes.oab 文件大小为整个 OAB 文件的一半(或更多),则 Outlook 将启动完整的 OAB 下载。有关 OAB 版本 4 中所做的改进的详细信息,请参阅 Improvements for Offline Address Books中的“Improvements in Exchange Server 2003 SP2 and Outlook 2003 SP2”(Exchange Server 2003 SP2 和 Outlook 2003 SP2 中的改进)。

OAB 分发方法

您可以选择向脱机工作的用户提供哪些通讯簿。在 OAB 生成 (OABGen) 过程中,Exchange 将生成新的 OAB 文件,压缩这些文件,然后将这些文件放在本地共享中。之后,您可以配置分发通讯簿的方法。有两种将 OAB 分发到客户端计算机的方法:

  • 基于 Web 的分发

  • 公用文件夹分发

若要确定要使用哪种 OAB 下载方法,Microsoft Office Outlook 2007 将使用自动发现服务提供的信息。如果还没有为您的 Exchange 服务器选择一种 OAB 下载方法,Outlook 2007 中的测试电子邮件自动配置工具会将公用文件夹报告为 OAB URL。Outlook 然后将使用传统方法(公用文件夹分发)来下载 OAB 数据。有关公用文件夹分发方法的详细信息,请参阅本主题下后面部分中的“公用文件夹分发”。

基于 Web 的分发

“基于 Web 的分发”是一种分发方法,通过这种方法脱机工作或通过拨号连接工作的 Outlook 2007 客户端可以访问 OAB。基于 Web 的分发不需要使用公用文件夹。

使用基于 Web 的分发,客户端访问服务器将在生成 OAB 之后复制文件。基于 Web 的分发使用 HTTPS 和 BITS。有关 BITS 工作原理的概述,请参阅 About BITS(关于 BITS)。

important要点:
虽然在默认情况下启用基于 Web 的分发并且不要求进一步配置,但还是建议对 OAB 分发点启用安全套接字层 (SSL)。有关详细信息,请参阅如何为脱机通讯簿分发要求 SSL

使用基于 Web 的分发有以下几点优势,包括:

  • 支持更多并发客户端计算机。

  • 减少所用带宽。

  • 对 OAB 分发点拥有更多控制。对于基于 Web 的分发,分发点是客户端计算机可以下载 OAB 的 HTTPS Web 地址。

要从基于 Web 的分发获得最多的好处,客户端计算机必须运行 Outlook 2007。还拥有运行 Outlook 2003 或更早版本的客户端计算机的组织可以同时使用公用文件夹分发和基于 Web 的分发。Outlook 2003 以及更早版本的客户端仍然通过使用公用文件夹访问其 OAB,而 Outlook 2007 客户端将使用新的基于 Web 的分发方法。

要使基于 Web 的分发功能正常工作,需要使用下列组件:

  • OAB 生成过程   这是 Exchange 创建和更新 OAB 过程。若要创建和更新 OAB,需要在 OAB 生成服务器上运行 OABGen 服务。若要支持 OAB 分发,则此服务器必须是 Exchange 2007 邮箱服务器。

  • Microsoft Exchange 文件分发服务   Microsoft Exchange 文件分发服务在客户端访问服务器上运行,负责收集 OAB 并将该内容与邮箱服务器上的内容同步。

  • OAB 虚拟目录   OAB 虚拟目录是基于 Web 的分发方法使用的分发点。默认情况下,安装 Exchange 2007 时,将在 Internet 信息服务 (IIS) 的默认内部网站中创建一个名为 OAB 的新虚拟目录。如果您的客户端用户从组织的防火墙之外连接到 Outlook 则您可以添加外部网站。另外,在 Exchange 命令行管理程序中运行 New-OABVirtualDirectory cmdlet 时,将在本地 Exchange 2007 服务器的默认 IIS 网站中新建名为 OAB 的虚拟目录。有关如何创建 OAB 虚拟目录的信息,请参阅如何创建脱机通讯簿虚拟目录

  • 自动发现服务   这是在 Outlook 2007 和一些移动设备中可用的功能,可以自动配置客户端以访问 Exchange 2007。该服务在客户端访问服务器上运行并为特定的客户端连接返回正确的 OAB URL。有关自动发现服务的详细信息,请参阅自动发现服务概述

下图说明了 OAB 基于 Web 的分发方法的工作流。该图假定所有客户端用户的 OAB 相同并且分发到所有客户端访问服务器。

OAB 基于 Web 的分发工作流

OAB 基于 Web 的分发方法图

在该图中,某个公司在伦敦和圣萨尔瓦多设有办事处。整个公司的邮箱服务器都位于伦敦的公司总部。圣萨尔瓦多使用的是一个低速链路,拥有圣萨尔瓦多客户端用户用于连接到 Outlook 的客户端访问服务器。此外,该公司还有远程工作并通过 Internet 连接到公司网络的用户。

在用户连接到基于 MAPI 的客户端计算机(如 Outlook)之前,会发生下列情况:

  1. OAB 在伦敦办事处的其中一个邮箱服务器上生成。

  2. 在伦敦的每个客户端访问服务器上,Microsoft Exchange 文件分发服务从伦敦的 OAB 邮箱服务器上复制新的 OAB 文件。

  3. 在圣萨尔瓦多的客户端访问服务器上,Microsoft Exchange 文件分发服务通过低速链路从伦敦的邮箱服务器上复制文件。根据低速链路的速度不同,复制过程可能要耗用几分钟到几个小时不等。在完全复制并验证了新的 OAB 之前,客户端计算机无法对其进行访问。

    note注意:
    并非所有的客户端访问服务器都将恰好在同一个时间复制新的 OAB。如果有新的差异文件,则会有开始复制的轮询间隔(默认值是 8 小时)。第一个轮询发生在 Microsoft Exchange 文件分发服务开始时。因此,除非客户端访问服务器都在同一个时间启动,否则,服务器轮询在每台客户端访问服务器上均不相同。

所有客户端访问服务器都复制了 OAB 内容后,会有以下多种方案可供客户端用户下载 OAB:

  • 方案 1   现场用户

    在此方案中,所有操作都发生在伦敦办事处:

    1. 用户 A 位于伦敦办事处,其 Outlook 设为缓存 Exchange 模式,并连接到 Outlook。

    2. Outlook 将连接自动发现服务以获取最近的 OAB 分发点的 URL。

    3. 自动发现服务会将此 URL 返回伦敦的其中一个客户端访问服务器。

    4. Outlook 使用 BITS 连接到自动发现服务提供的 URL。

    5. Outlook 会下载 OAB。

  • 方案 2   低速链路用户

    在此方案中,用户 B 的邮箱驻留在伦敦办事处,因为圣萨尔瓦多办事处没有邮箱服务器。由于用户 B 准备出差,需要 OAB 的本地副本,因此用户 B 必须下载 OAB。用户 B 的 OAB 将从离圣萨尔瓦多办事处最近的客户端访问服务器上进行下载:

    1. 位于圣萨尔瓦多办事处的用户 B 将连接到 Outlook。

    2. Outlook 将连接自动发现服务以获取最近的 OAB 分发点的 URL。

    3. 自动发现服务会将此 URL 返回圣萨尔瓦多的客户端访问服务器。

    4. Outlook 使用 BITS 连接到自动发现服务提供的 URL。

    5. Outlook 会下载 OAB。但是,由于圣萨尔瓦多的客户端访问服务器通过低速链路将 OAB 复制到伦敦,因此用户 B 可能不会获得最新版本的 OAB。

  • 方案 3   Internet 用户

    在此方案中,由于用户使用 Internet 进行连接,Exchange 无法找出离用户的物理位置最近的那台客户端访问服务器。因此,Exchange 默认连接到靠近用户的邮箱服务器的客户端访问服务器:

    1. 其邮箱服务器位于伦敦的用户 C 从 Internet 连接到 Outlook。

    2. Outlook 将连接自动发现服务以获取最近的 OAB 分发点的 URL。

    3. 由于用户 C 的邮箱位于伦敦的邮箱服务器,因此自动发现服务会将此 URL 返回伦敦的其中一个客户端访问服务器。

    4. Outlook 使用 BITS 连接到自动发现服务提供的 URL。

    5. Outlook 会下载 OAB。

公用文件夹分发

“公用文件夹分发”是一种分发方法,通过这种方法脱机工作或通过拨号连接工作的 Outlook 2003 或更早客户端可以访问 OAB。使用公用文件夹分发,OAB 生成过程将文件直接放在一个公用文件夹中,然后 Exchange 存储复制将数据复制到其他公用文件夹分发点。

使用公用文件夹分发,可以立即对每个下载完整 OAB 的请求提供服务。例如,如果为 10,000 个用户提供服务的公用文件夹在一小时中收到 1,000 个请求,并且 OAB 的大小为 5 (MB),则服务器将立刻传输 5 (GB) 的数据。根据网络速度和可用带宽,这样的通讯量可能会使网络在一个较长的时间段内超载。

为了防止这种超载,您可以设置带宽阈值来限制 OAB 下载使用的网络带宽。此过程称为“限制”。

默认情况下,限制是关闭的。通过将以下项添加到承载 OAB 系统文件夹的所有公用文件夹服务器上的注册表中,可激活该限制。

Caution警告:
UNRESOLVED_TOKEN_VAL(exRegistry)
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\MSExchangeIS\ParametersSystem
Type: DWORD
Value: OAB Bandwidth Threshold (KBps)
Value Data: bandwidth threshold setting (Range: 0 to 4194304 (decimal))

带宽阈值设置以千字节每秒 (KBps) 为单位,并且应当使用十进制值对其进行配置。例如,通过将注册表项设置为十进制值 5,000 来配置公用文件夹服务器,以便将 5,000 KBps 用作 OAB 下载的带宽阈值(该带宽阈值大约为 40,960 Kbps 或 40.96 Mbps)。添加并配置该设置后,Exchange 将动态检测注册表项,并开始强制实施带宽限制而无需重新启动 Microsoft Exchange 信息存储服务。

每次发生 OAB 下载请求时,都会验证请求者在 Exchange 服务器上的管理权限。如果用于请求的安全上下文与 Exchange 服务器上的本地管理员等效,则会假定是一个内部函数正在请求下载。在此事件中,允许请求者继续进行完全 OAB 下载。但是,传输到管理客户端的字节数仍作为下载的 OAB 平均字节数的一部分进行计算。如果请求者没有管理权限,则确定最后 10 秒内下载的完整 OAB 平均字节数。如果该值小于配置的阈值,则允许完整 OAB 下载。

note注意:
将该注册表项设置为 0,则最多允许一个没有管理权限的客户端以 10 秒为间隔一次下载一个完整 OAB。

设置 OAB 下载带宽阈值时,建议您在各个服务器上将阈值配置为不会导致 Exchange 服务器的网络适配器或网络超载的值。如果尚未收集并分析网络和 Exchange 服务器性能数据,则应该在配置注册表项之前执行此操作。

使用公用文件夹分发时 OAB 下载对网络的影响

由于有多种情况会导致大量完整的 OAB 下载,因此应了解大量 OAB 下载对网络上的带宽产生的影响。

Exchange Server 可以很容易地处理 OAB 的许多下载请求。结果,通过低速链路下载完整 OAB 的多个尝试可能会使网络饱和。(所有可用带宽都在使用中。)发生该情况时,会产生两个重大影响:

  • 必须使用广域网 (WAN) 的应用程序执行速度将会非常慢。这是因为它们要等待其网络请求遍历饱和的 WAN 链路。

  • WAN 上所需的实际通信会增加,因为个别网络请求会超时,从而导致产生额外的请求。

当网络饱和时,延迟会增加,不仅每个客户端计算机下载 OAB 所耗的时间增加,而且整个下载过程的持续时间也会增加。通常情况下,这表示每个客户端计算机的数据速率降低。但是,如果延迟太大,RPC 数据包将会超时,导致出现检索同一数据的额外 RPC 请求。另外,如果 Outlook 用户尝试下载 OAB 后取消该下载或下载失败,Outlook 将尝试删除已下载的数据,并尝试重新下载 OAB。结果将会请求更多的数据,反过来又会增加一大组 OAB 下载的整体持续时间。

Outlook 通过一系列 RPC 数据包从 Exchange 服务器下载 OAB。每个数据包在收到和经过确认后,下一个数据包才会发出。根据 Outlook 与 Exchange 之间的延迟,可以限制单独的 Outlook 客户端接收和确认每个数据包的速度。由于存在这种延迟,单独的 Outlook 客户端可能不会使网络链路饱和。但是,当有更多的 Outlook 客户端开始下载 OAB 时,所有客户端的组合下载率可能会使链路饱和。在完整的 OAB 被下载完毕前,该链路将保持饱和状态。

其中的关系是线性的,也就是说,Outlook 客户端与 Exchange 服务器之间的延迟越大,可以接收的数据包就越少。在低速链路饱和之前,能够下载 OAB 的客户端就越少。反之亦然。如果延迟较小,则需要更多的客户端才能使低速链路饱和。只要网络延迟减小或网络带宽增加,可以同时下载 OAB 而不会使 WAN 饱和的 Outlook 客户端数量就会增多。

OAB 注意事项

最佳做法是,无论您使用单个 OAB 还是多个 OAB,在计划和实施 OAB 策略时请考虑下列因素:

  • 组织中的每个 OAB 的大小。有关详细信息,请参阅本主题后面部分中的“OAB 大小注意事项”。

  • OAB 下载数量。

  • 父级可分辨命名更改的数量和频率。

  • 简单邮件传输协议 (SMTP) 地址不匹配。

  • 对目录所做的更改总数。

OAB 大小注意事项

对于某些组织来说,OAB 是远程用户偶尔下载的一个小文件。对于这些组织,下载 OAB 通常不是问题。但是,对于拥有大目录的大型组织,或者对于已在缓存 Exchange 模式下部署了 Outlook 2003 的组织,这可能是个问题,特别是那些将 Exchange 服务器合并到地区数据中心的组织。

OAB 大小可以在几兆字节到几百兆字节之间变化。下列因素可能影响 OAB 的大小:

  • 公司中证书的使用。公钥基础结构 (PKI) 证书越多,OAB 就越大。PKI 证书大小介于 1 KB 到 3 KB 之间。这些证书是影响 OAB 大小的一个最大因素。

  • Active Directory 中的邮件收件人数量。

  • Active Directory 中的通讯组数量。

  • 公司为每个已启用邮箱或已启用邮件的对象添加到 Active Directory 中的信息。例如,有些组织会对每个用户填充地址属性,而其他组织则不会。

详细信息

有关 OAB 的详细信息,请参阅下列主题:

有关地址列表的详细信息,请参阅下列主题: