本文介绍了在 Microsoft Exchange Server 2003 中规划脱机通讯簿时需注意的一些事项。此处的信息适用于 Exchange Server 2003 SP1。 通讯簿的大小 影响脱机通讯簿的因素 可分辨父名称更改 修改 legacyExchangeDN 值 目录更改的总体数量 导致完全下载的其他条件 最大限度降低完全下载脱机通讯簿对网络的影响 更多信息 对于某些组织机构,脱机通讯簿仅是远程用户偶尔会下载的一个小文件。对于这些组织,脱机通讯簿的下载问题根本无足挂齿。但是,对于一些拥有大型目录的大型组织,或者以缓存 Exchange 模式部署了 Microsoft Office Outlook 2003 的组织,这可能会成为一个问题,尤其是在组织将 Exchange 服务器合并到一个地区性数据中心的情况下。 脱机通讯簿的大小可在数 M 字节到数百 M 字节之间变化。如下因素会影响脱机通讯簿的大小: 公司中使用了证书。公钥基础结构 (PKI) 证书越多,脱机通讯簿的体积就越大。PKI 证书的大小从 1 KB 到 3 KB 不等。它们是影响脱机通讯簿的单个最大因素。 Active Directory 目录服务中邮件收件人的数量。 Active Directory 中的通讯组数量。 公司为每个启用了邮箱或邮件的对象在 Active Directory 中添加的信息。例如,一些组织会填写每位用户的地址属性,而有些组织则不会这么做。有关在脱机通讯簿中默认存储的地址属性的信息,请参见如下文章中的“配置 Exchange Server 2003 脱机通讯簿”一节:使用 Exchange Server 2003 存储。 据简单估计,脱机通讯簿的大小大约为每 1000 位用户 1 MB。如果脱机通讯簿中包含用户证书,每个证书大约需要 1 到 3 KB 的额外空间。脱机通讯簿的大小及可用网络带宽直接关系到 Outlook 客户端下载脱机通讯簿的时间。 通讯簿大小指的是 Exchange Server 上经过压缩的脱机通讯簿文件的大小,而不是 Outlook 客户端上经过展开的未压缩脱机通讯簿文件的大小。 为了确定脱机通讯簿的下载时间,必须首先确定完整脱机通讯簿的大小。可使用 Exchange System Manager 确定脱机通讯簿的大小。在 Exchange System Manager 中,请右击“公共文件夹”,然后单击“查看系统文件夹”。这会显示包括脱机通讯簿文件夹在内的系统文件夹。在展开脱机通讯簿文件夹后,可以看到 OAB Version 3a 文件夹。在右侧,单击内容选项卡,显示该文件夹的内容。该列表将显示最近 30 天的更改。具有多个附件的较大型对象即是完整的脱机通讯簿,可将各个附件的大小累加在一起得出脱机通讯簿的大小。 如果许多 Outlook 客户端都同时尝试下载完整的脱机通讯簿,那么完成所有下载将耗用漫长的时间。例如,如果组织的脱机通讯簿大小为 10 MB,远程站点上有 50 个 Outlook 客户端,那么相当于下载 500 MB 的数据。如果使用全部带宽为 256 Kbps 的连接(无延迟),传输 500MB 内容需要花费大约 4.5 个小时。 4.5 小时这个值是用 500 MB 除以每秒 32 KBps(32 KBps = 256 Kbps)得出的。上述计算并未考虑网络延迟、由于 RPC 产生的额外流量或者对网络连接的其他使用。 此外,由于 Outlook 使用 MAPI 和 RPC 来下载脱机通讯簿,总的下载量中还会增加其他的少量开销。Outlook 和 Exchange Server 计算机间的延迟会限制数据传输能够使用的总体带宽。总的来说,每个客户端也许不会从头至尾都在下载,但是对于所有客户端,在脱机通讯簿下载期间,网络自始至终都被使用。 本部分内容讨论可能影响脱机通讯簿的一些因素。 可分辨父名称是未包括最终相对可分辨名称的可分辨名称(又称 DN)的一部分(在 x.500 语法中)。如果以 /o=org/ou=site/cn=Recipients/cn=bob 为例,可分辨父名称是 /o=org/ou=site/cn=Recipients,而相对可分辨名称是 /cn=bob。可分辨父名称表是目录中找到的所有可分辨父名称的集合。这些名称来自于两个属性:以“x.500:”或“X500:”开头的 legacyExchangeDN 和 proxyAddresses。 仅当它们以 /o=orgname 开头,并且生成脱机通讯簿的服务器运行 Exchange Server 2003 SP1,才会包括 x.500 地址,这里的 orgname 是本地 Exchange Server 组织的实际名称。这意味着,从其他组织迁移而来的用户上的 x.500 地址将不被包括在内。如果找到的可分辨名称发生更改,则必须进行完全下载。 如果执行了以下任何一个操作,便会导致 Outlook 下载完整的脱机通讯簿,而不是仅下载增量内容或差异内容: 手动修改 legacyExchangeDN 属性,以创建一个先前不存在的可分辨父名称。例如: 在本机模式下,在跨管理组转移邮箱之后,使用 Active Directory 编辑器(例如 ADSI Edit)更改 legacyExchangeDN 属性。 正确地修改了 legacyExchangeDN 属性,但是忘记将先前的可分辨名称添加为一个 x.500 地址。在此情况下,如果这是具有该可分辨父名称的唯一对象,先前的可分辨父名称将从目录中消失。 对于 Exchange Server 5.5 和使用 Active Directory Connector (ADC),在 Exchange Server 5.5 中创建新容器和在其中插入对象,或者删除 Exchange Server 5.5 容器中的最后一个对象。 对于 Exchange Server 5.5 和使用 ADC,并且将 ADC 设置为将容器的层次结构复制到 Exchange Server 5.5(这是 ADC 工具的默认设置),则是在新的 Active Directory 容器中创建对象并为其启用邮箱。ADC 将在 Exchange Server 5.5 中创建新容器并且将新的 Exchange Server 5.5 可分辨名称作为该 Active Directory 对象的 legacyExchangeDN 复制回来。如果使用这种方式,Active Directory 层次结构中的更改可能会导致添加新的可分辨父名称。 添加管理组。在管理组中创建第一个支持邮件的对象(邮箱、联系人或通讯组)会导致目录中出现一个新的可分辨父名称。 删除最后一个对象,该对象的 legacyExchangeDN 或 proxyAddresses 属性中包含特殊的可分辨父名称。例如,在合并和删除某个站点三年之后,删除该站点中从前的最后一个邮箱。x.500 占位符将消失,并会更改可分辨父名称表的内容。 添加、删除或修改 x.500 代理地址。“Active Directory 用户和计算机”工具允许执行此类型的更改。如果 x.500 地址位于本地组织中,但是组织单位 (/ou= 在从一个单独的目录林中迁移用户时(例如公司合并或者三度的电子邮件目录林),将旧的 legacyExchangeDN 属性添加为 x.500 代理会导致强迫下载完整的脱机通讯簿(如果 /o= 还有一些操作会影响可分辨父名称,但是不会导致 Outlook 下载完整的脱机通讯簿。这些操作包括: 在混合模式环境中执行站点合并邮箱转移 - 旧的可分辨父名称保存在 proxyAddresses 属性中,不会创建新的可分辨父名称。 使用“Active Directory 用户和计算机”创建支持邮件的对象 - Exchange 2000 Server and Exchange Server 2003 总是使用相同的可分辨父名称 (/o= 删除管理组 - 邮箱在删除之前必须从管理组中移除,而且删除管理组不会影响支持邮件的现有对象的 x.500 地址,也不会影响邮箱收件人的 legacyExchangeDN 属性。 更改用户的 legacyExchangeDN 属性是一种“激烈“的操作,需要重新创建用户的 Outlook 配置文件(以及完成其它工作)。对于“缓存 Exchange 模式”用户,此操作意味着重新同步他们的脱机存储文件 (.ost file) 并重新下载他们的脱机通讯簿。但是,也有一些需要更改 legacyExchangeDN 属性的合理原因。例如,如果您正在使用密钥管理服务 (Key Management Service) 为使用经过数字签名的信息提供证书,并且用户在站点间进行了移动,那么便需要更改他们的 legacyExchangeDN 属性。密钥管理服务服务器是以每个站点为基础部署的,用户必须拥有反映从该处获得证书的站点的正确可分辨父名称。 您应该认真检查对 legacyExchangeDN 属性的任何修改,以防止类似于如下的输入错误: 增加或删除了前导或尾随空格。如果条目由于先前所做的更改而包含前导或尾随空格,那么应该保留前导或尾随空格。 检查属性的确未包含冒号 (:)。从 LDP.exe 复制 legacyExchangeDN 属性时发生的一个常见错误,因为 LDP.exe 使用冒号和空格“:”将属性名和属性值分隔开. legacyExchangeDN:/o= 容器名是否拼写错误,尤其是收件人容器。 legacyExchangeDN 属性值不应包含尾随分号。一些工具,例如 LDP.exe ,使用分号分隔多值属性中的各个值。 proxyAddresses 属性是一个多值属性。LDP.exe 将多值属性值显示为一个用分号分隔开的字符串,虽然这仅是出于显示的目的。不要试图在 Active Directory 编辑器中输入用分号分隔的代理地址列表。 legacyExchangeDN 属性值未以如下内容开头:/o= or /O= 如果您发现一个结构错误的 legacyExchangeDN 属性,必须认真研究适当的纠正措施。legacyExchangeDN 属性的更改将导致脱机通讯簿的完整下载,而将一个无效的可分辨父名称更改为另一个无效的可分辨父名称则会导致下载脱机通讯簿。包含无效 legacyExchangeDN 属性的条目可能不会对您的环境造成不利影响,但是如果操作不当,纠正该条目所包含错误的尝试会导致环境出现问题。 脱机通讯簿在整个公司范围内的完整下载可能是由于目录中发生了太多的更改而造成的。当前,判断更改是否过多的标准要取决于 Changes.oab 文件相比于完整脱机通讯簿文件集合的大小。如果 Changes.oab 文件是完整脱机通讯簿大小的八分之一(或更多),Outlook 将启动脱机通讯簿的完整下载。 一些小的更改(例如更新电话号码以反映大量用户的区号发生的更改,向 Active Directory 中的所有用户添加“部门”这样的新属性,或者添加新地址类型或新通讯簿)会导致有关收件人的所有信息被包含在 Changes.oab 文件中。因此,仅仅修改半数收件人中每位收件人相关信息的几个字节,可能就会导致 Changes.oab 文件的体积大于完整脱机通讯簿的八分之一。 “八分之一规则”可通过注册表修改。有关更多信息,请参见以下微软知识库文章 841273 中的“什么情况将导致 Outlook 下载完整的脱机通讯簿?”一节:管理 Outlook 2003 中的脱机通讯簿。 除了上述条件之外,其他一些情况也会导致 Outlook 下载完整的脱机通讯簿。这些情况包括: 客户端计算机上没有任何脱机通讯簿。如果 Outlook 尚未执行初始的完整同步,便会出现此情况。 服务器上的差异文件缺失。如果没有该文件,Outlook 将无法更新当前版本。如果以下条件之一得到满足,便会出现此情况: 您持续 30 天以上没有启动 Outlook(以登录到您的 Exchange 邮箱)。服务器策略只允许保持 30 天之内的差异文件。 服务器端出现错误,而且无法生成某天的差异文件。 服务器上的版本和客户端上的版本不匹配。较新的脱机通讯簿位于服务器上。例如,Version 3a(Unicode 脱机通讯簿)现在已可供使用,而您以前下载了一个 Version 2 的脱机通讯簿。 无法将更改应用到脱机通讯簿。例如,服务器上的差异文件已损坏。如果在生成差异文件期间服务器停机,便可能出现损坏的情况。 客户端计算机上不存在一个或更多的脱机通讯簿文件。例如,用户不小心删除了用户计算机上的某个脱机通讯簿文件。 先前的完整下载操作失败,而且 Outlook 必须从头开始启动。 您手动下载了完整的脱机通讯簿。 包含脱机通讯簿唯一副本的公共文件夹存储丢失,并且被一个新的数据库和新的脱机通讯簿所替代。若要防止此情况出现,建议将脱机通讯簿文件夹至少复制到两台公共文件夹服务器上(源服务器和一个副本服务器)。 在缓存 Exchange 模式中对 Outlook 2003 执行初始部署时,它将下载一份完整的脱机通讯簿。如果使用缓存 Exchange 模式执行大量 Outlook 客户端的初始部署,会导致大量下载完整的脱机通讯录,因为每安装一个新的 Outlook 2003 都会下载新的脱机通讯录。 Outlook 用于脱机通讯簿的公共文件夹基于私人信息存储的 msExchUseOAB 属性。如果邮箱转移到包含不同脱机通讯簿的其他服务器上,Outlook 将下载新的脱机通讯簿。如果在邮箱存储间转移大量邮箱并且目标存储区被配置为使用不同的脱机地址列表,则会导致为这些邮箱下载完整的脱机通讯簿。 如果将邮箱从 Exchange Server 5.5 服务器转移到 Exchange Server 2003 服务器,Exchange Server 2003 服务器会将 Outlook 定向到一个更新的 Unicode 版本的脱机通讯簿。对于从 Exchange Server 5.5 服务器转移到 Exchange Server 2003 服务器的所有邮箱,Outlook 将下载新的脱机通讯簿。如果将大量邮箱从 Exchange Server 5.5 转移到 Exchange Server 2003,则会导致大量针对这些邮箱的完整脱机通讯簿下载活动。 如果用户在同一台 Outlook 客户端计算机上拥有多个 MAPI 配置文件,并且在两个都使用缓存 Exchange 模式的配置文件间切换,那么将会为相同的脱机通讯簿文件多次下载完整的脱机通讯簿。Outlook 仅支持一台计算机上每个用户帐户拥有一个脱机通讯簿。如果您有多个配置文件,则只有一个配置文件能够下载脱机通讯簿。如果您必须使用两个或两个以上的配置文件并且这些配置文件均使用缓存 Exchange 模式,那么请确保其中一个配置文件被配置为不下载脱机通讯簿。 如果您所在的组织需要最大限度降低通过 WAN 连接下载完整脱机通讯簿的影响,并且您使用 Exchange Server 2003 SP1,那么这里有一些值得您借鉴的最佳做法。 限制完整脱机通讯簿的大量下载 - 第一个选项是尽可能限制对完整脱机通讯簿的大量下载。前文中列出了导致 Outlook 下载完整的脱机通讯簿的条件,其中包括由于邮箱的转移、目录中的大量更改或者对可分辨父名称表的更改。作为一种最佳做法,您应该检查这些条件并且确定能做哪些工作来限制导致下载完整脱机通讯簿的条件产生。 如果大量的 Outlook 客户端在给定的日子同时下载完整的脱机通讯簿,可能导致带宽被大量占用,尤其是对于速度缓慢的网络连接。虽然每天的文件更改量通常都很小,但是完整脱机通讯簿的体积也可能变得非常庞大,因为在默认情况下它包含了整个全局通讯簿 (GAL)。此外,由于脱机通讯簿由每个 Outlook 客户端单独下载,对带宽使用的影响将随着下载脱机通讯簿的 Outlook 客户端数量的增加而逐渐显现出来。例如,如果组织的完整脱机通讯簿的大小为 10 MB,并且远程站点的 20 个 Outlook 客户端都在同一天尝试下载完整的脱机通讯簿,那么便需要跨越 WAN 向远程站点传送 200 MB 的数据。 筛选证书以限制脱机通讯簿的大小 - 在 Exchange Server 2003 中,Exchange 脱机通讯簿服务 (OABGen) 能够筛选出不需要的属性,包括那些不被 Outlook 使用的额外证书。证书是保存在脱机通讯簿中的最大的单个属性。筛选出不需要的证书可以将脱机通讯簿的大小减小 35% 到 50%。 Active Directory 中有三个不同的证书属性。但是,这些证书中只有一部分被用于加密和签署电子邮件。可将 Outlook 不使用的证书(例如用于加密文件系统和 802.1x 身份验证的证书)从脱机通讯簿中筛选出来。还可以从脱机通讯簿中筛选出已过期的证书。 默认情况下,Exchange Server 2003 SP1 中启用了证书筛选,并且无需执行其他操作就可使用该功能。如果需要,可通过编辑 Exchange 服务器上的注册表来控制证书的筛选行为。 错误地编辑注册表会导致严重的问题,可能需要重新安装操作系统才能解决这些问题。而且,因错误地编辑注册表而导致的问题也许是不可解决的。在编辑注册表之前,应备份所有重要数据。 配置脱机通讯簿的证书筛选 1. 在 Exchange Server 计算机上,打开注册表编辑器,例如 Regedit.exe 或 Regedt32.exe。 2. 导航到:HKeyLocalMachine\System\CurrentControlSet\Services\MSExchangeSA\Parameters。 3. 右击 Parameters 并选择 新建 | DWORD 值。将 DWORD 值 命名为 OAL Invalid Cert Behavior。 4. 在右侧窗格中,双击 OAL Invalid Cert Behavior,然后输入所需的值: 0 – 筛选掉过期和无效的证书(默认) 1 – 仅筛选掉过期证书 2 – 不筛选 UserCertificate 属性 5. 关闭注册表编辑器并重新启动 Microsoft Exchange System Attendant 服务,以便让更改生效。 请考虑为远程 Outlook 客户端使用“无详细信息的脱机通讯簿” (No Details offline address book) - “无详细信息的脱机通讯簿”是针对远程 Outlook 客户端的一个选项,用于为它们提供最精简的脱机通讯簿。该脱机通讯簿版本十分小巧,仅包含显示名、主 SMTP 地址、办公室位置、姓以及邮箱别名。 优点 - “无详细信息的脱机通讯簿”体积非常小,所以下载的开销也极为有限。 缺点 - 在任何时候,只要 Outlook 尝试取得某个地址的详细信息,都需要直接向 Active Directory 发出在线请求。脱机访问只能获得有限的信息,所以本选项对于大部分时间处于脱机状态的便携计算机用户来说并不可行。 考虑为远程 Outlook 客户端使用仅包含远程脱机通讯簿的服务器 - 可以在远程站点上安装一台 Exchange 公共文件夹服务器,以托管脱机通讯簿。该远程站点上的所有远程客户端都从本地的 Exchange 公共文件夹服务器上下载脱机通讯簿。 优点 - 对完整脱机通讯簿的下载不会影响 WAN。不需要全功能的邮箱服务器,所以邮箱服务器仍然可以合并到一个中心位置。 缺点 - 需要在远程站点部署额外的服务器。 限制通过远程连接访问 Exchange 服务器的数量 - 下载完整脱机通讯簿对网络的影响与下载脱机通讯簿的用户数量息息相关。在脱机通讯簿的完整下载产生过大影响之前,您所在的组织可能需要考察 WAN 连接所支持远程 Outlook 客户端的数量,并且根据需要限制远程客户端的数量。 实施脱机通讯簿控制 - 可以通过使用 Exchange Server 2003 SP1 中引入的控制机制,防止 Exchange 服务器的网络适配器或其连接到的网络负载过重。通过设置带宽阀值,管理员可通过此功能限制脱机通讯簿下载活动使用的网络带宽。 默认情况下,此控制功能处于关闭状态。可通过将注册表项添加到托管脱机通讯簿系统文件夹的所有公共文件夹服务器来激活此功能。更多相关信息,请参见以下文章中的“脱机通讯簿下载控制”一节:脱机通讯簿的改进。 更多相关信息,请参见如下 Exchange 资源以及微软知识库文章: 841273, “管理 Outlook 2003 中的脱机通讯簿“ 使用 Exchange Server 2003 存储 脱机通讯簿最佳做法指南 Exchange Server 2003 Service Pack 2 中的 OAB Version 4 Outlook 2003 SP2 和 Exchange Server 2003 SP2 OAB Version 4 如何协同工作%26#8226; %26#8226; %26#8226; %26#8226; %26#8226; %26#8226; %26#8226; %26#8226; 通讯簿的大小
%26#8226; %26#8226; %26#8226; %26#8226; 影响脱机通讯簿的因素
可分辨父名称更改
%26#8226; %26#8226; %26#8226; %26#8226; %26#8226; %26#8226; %26#8226; %26#8226; %26#8226; %26#8226; %26#8226; %26#8226; 修改 legacyExchangeDN 值
%26#8226; %26#8226; %26#8226; %26#8226; %26#8226; %26#8226; 目录更改的总体数量
导致完全下载的其他条件
%26#8226; %26#8226; %26#8226; %26#8226; %26#8226; %26#8226; %26#8226; %26#8226; %26#8226; %26#8226; %26#8226; %26#8226; %26#8226; %26#8226; 最大限度降低完全下载脱机通讯簿对网络的影响
%26#8226; %26#8226; %26#8226; %26#8226; %26#8226; %26#8226; %26#8226; %26#8226; %26#8226; %26#8226; 更多信息
%26#8226; %26#8226; %26#8226; %26#8226; %26#8226;
注意:
注意:
注意:
小心: