重要说明 本文包含有关修改注册表的信息。 在修改注册表之前,请确保对其进行备份,并确保了解如何在出现问题时还原注册表。 有关如何备份、还原和编辑注册表的信息,请单击下面的文章编号以查看Microsoft知识库中的文章:

256986 Microsoft Windows 注册表的说明

摘要

如果在缓存 Exchange 模式下使用 Microsoft Office Outlook,则脱机通讯簿用于常见通讯簿操作,例如姓名查找或浏览全局地址列表。 在缓存 Exchange 模式下的 Outlook 中,与使用 Microsoft Outlook 早期版本的用户相比,使用脱机通讯簿的用户更多。完整的 .oab 文件集是除了同步邮箱之外,从 Microsoft Exchange 服务器下载的最大单个文件。 由于已知条件或组织部署特有的条件,Outlook 中可能会过度下载完整的 .oab 文件。Microsoft Office 具有客户端日志记录,可用于下载完整的 .oab 文件。 客户端日志记录提供的信息可用于确定完整的 .oab 文件下载是否应在特定上下文) 中 (,或者是否由于 Outlook 或 Microsoft Exchange Microsoft 已知或未知) (问题而发生。 如果由于 Outlook 或 Exchange 中的未知问题而发生完整的 .oab 文件下载,则客户端日志记录信息可能有助于确定可能的解决方法。 注意 客户端日志记录信息不会告诉你如何解决问题。 客户端日志记录信息将告知完整 .oab 文件下载的一般原因。 可能需要执行其他高级故障排除,或者使用 Microsoft 产品支持服务创建支持案例,才能找到问题的解决方法。

简介

本文介绍 office Outlook Microsoft 中的脱机通讯簿日志详细信息。 可为 Outlook 客户端和 Exchange 服务器端获取脱机通讯簿日志详细信息。本文讨论以下主题:

应用程序事件 ID 27

默认情况下,每当 Outlook Microsoft从 Microsoft Exchange 服务器执行完整的 .oab 文件下载时,Outlook 始终生成应用程序事件。 如果已 (默认设置) 启用了 OAB 日志记录功能,Outlook 将使用应用程序事件日志来跟踪完整的 .oab 文件下载。 若要标识脱机通讯簿下载,请在应用程序事件日志中查找具有以下条件的项目:

事件源:Outlook事件 ID:27事件类型: 说明:根据应用程序事件的类型,“事件类型”行中的信息将是错误消息、警告或信息。 以下事件序列是可能显示在应用程序事件日志中此应用程序事件的“说明”行中的一个示例, (按时间顺序) :

  1. 错误事件 ID 27 事件,其描述类似于“OAB ModDif 失败”。 (详细信息记录事件数据) 。“或”OAB (脱机通讯簿) 文件无效。 已替换为存根。 (事件数据) 中的上次错误。”

  2. 信息事件 ID 27,描述为“开始 OAB 下载”。 此类应用程序事件包含下载原因的大部分信息,它是最重要的应用程序事件。 此应用程序事件表示 Outlook 开始下载完整的 .oab 文件。

  3. 信息事件 ID 27,说明为“OAB 下载成功”。 此应用程序事件表示 Outlook 成功下载完整的 .oab 文件。

注意 如果完整的 .oab 文件下载失败,将显示一个警告事件 ID 27,描述为“OAB 下载失败”,而不是“OAB 下载成功”。返回到顶部

分析脱机通讯簿日志条目

可以使用以下方法分析应用程序事件日志信息:

  1. 按事件 ID 行对日志进行排序。

  2. 查找具有以下条件的事件:

    事件 ID:27来源:Outlook

  3. 如果第一个事件 27 是“错误”类型的应用程序事件,则可以预期下一个事件 27 将是“信息”应用程序事件。 这会通知你将启动完整的 .oab 文件下载。

  4. 打开事件 27,其说明以以下文本开头:

    “正在启动 OAB 下载 (查看事件数据) ”注意 无需在 中具有“错误”类型应用程序事件来触发完整的 .oab 文件下载。 例如,如果手动强制下载完整的 .oab 文件,则应用程序事件日志中的第一个事件 27 将是“信息”事件 27 (包含“开始 OAB 下载...”的说明description) 。

确定触发完整 .oab 文件下载的应用程序事件后,可以使用“信息”事件 27 中的数据来确定完整 .oab 文件下载的原因。以下示例数据来自应用程序事件日志条目,其中 Outlook 下载了脱机通讯簿,因为用户首次在缓存 Exchange 模式下启动 Outlook:

                0000: 01 00 00 00 00 00 00 00   ........0008: 00 00 00 00 75 00 00 00   ....u...0010: 75 00 00 00 00 00 00 00   u.......0018: 00 00 00 00 00 00 00 00   ........0020: e9 fd 00 00 02 a3 48 9b   éý...£H?0028: ba 12 c4 01 00 00 00 00   º.Ä.....0030: 00 00 00 00 00 00 00 00   ........0038: 00 00 00 00 00 00 00 00   ........0040: 00 00 00 00 00 00 00 00   ........0048: 00 00 00 00 00 00 00 00   ........0050: 00 00 00 00 00 00 00 00   ........0058: 00 00 00 00 00 00 00 00   ........0060: 00 00 00 00 00 00 00 00   ........0068: 00 00 00 00 00 00 00 00   ........0070: 00 00 00 00 00 00 00 00   ........0078: 00 00 00 00 00 00 00 00   ........0080: 00 00 00 00 00 00 00 00   ........0088: 00 00 00 00 00 00 00 00   ........0090: 5c 00 47 00 6c 00 6f 00   \.G.l.o.0098: 62 00 61 00 6c 00 20 00   b.a.l. .00a0: 41 00 64 00 64 00 72 00   A.d.d.r.00a8: 65 00 73 00 73 00 20 00   e.s.s. .00b0: 4c 00 69 00 73 00 74 00   L.i.s.t.00b8: 00 00 00 00 65 38 31 30   ....e81000c0: 35 35 61 38 2d 62 64 38   55a8-bd800c8: 38 2d 34 33 34 62 2d 39   8-434b-900d0: 37 31 37 2d 64 34 33 37   717-d43700d8: 61 62 34 35 31 35 36 39   ab45156900e0: 00 65 38 31 30 35 35 61   .e81055a00e8: 38 2d 62 64 38 38 2d 34   8-bd88-400f0: 33 34 62 2d 39 37 31 37   34b-971700f8: 2d 64 34 33 37 61 62 34   -d437ab40100: 35 31 35 36 39 00         51569

在任何脱机通讯簿应用程序事件条目中,数据的第一个字节包含十六进制的错误代码。 错误代码会告诉你完整 .oab 文件下载的原因。 以下数据是从上一个应用程序事件日志中的完整数据集中提取的:

                0000: 01 00 00 00 00 00 00 00   ........

在此示例数据中,第一个字节为 01。 若要解释脱机通讯簿应用程序事件日志中的 01 代码或其他代码,请使用下表来关联代码号和完整 .oab 文件下载的原因:

结果代码

说明

1

计算机上没有任何脱机通讯簿文件,或者由于某些其他原因无法打开脱机通讯簿文件。

2

强制手动下载完整的 .oab 文件。

3

无法在客户端上获取脱机通讯簿的名称。 创建新配置文件时会发生此行为。

4

无法在客户端上获取脱机通讯簿的 GUID。

5

服务器中缺少脱机通讯簿的名称。 在这种情况下,完整的 .oab 文件下载预计不会启动或成功,但无论如何都会记录它。

6

服务器缺少脱机通讯簿的 GUID。 在这种情况下,完整的 .oab 文件下载预计不会启动或成功,但仍会记录它。

7

服务器的脱机通讯簿名称和客户端的脱机通讯簿名称不同。

8

服务器的 GUID 和客户端的 GUID 不同。 如果服务器必须重新生成具有相同名称的全新脱机通讯簿,然后放弃旧集,则可能会出现此行为。 或者,客户端在不同的林之间移动。

9

客户端的序列号大于服务器。

0a (10)

需要脱机通讯簿中的详细信息,但客户端上没有详细的 .oab 文件。 如果手动强制下载脱机通讯簿,然后单击以清除“自上次发送/接收检查以来的下载更改”框,则可能会出现此行为。

0b (11)

服务器中至少缺少一个 .diff 文件。

0c (12)

要下载的 .diff 文件的总和不能大于完整 .oab 文件的 1/8。

0d (13)

你已 将“允许 SRS 完整 OAB 下载 ”注册表项设置为 1,并且“发送/接收”设置设置为始终执行完整下载。

0e (14)

系统上未安装脱机通讯簿的区域设置,并且手动下载了完整的 .oab 文件。 通常,Outlook 每月更新通讯簿一次,在满足此类用户条件时或手动下载时更新通讯簿。 Outlook 使用这三种方法更新通讯簿,以避免导致每天完全下载的情况。

0f (15)

由于某种原因,将 .diff 文件应用于 .oab 文件失败。 有时,在这种情况下会触发事件 #4。

以下列表包含可从应用程序事件日志数据中收集的其他三条信息:

  • OAB 序列号

  • 用于填充脱机地址列表的服务器端地址列表名称

  • 完整 .oab 文件下载的 GUID

可以使用错误值来确定发生 0f 错误的原因。 为此,请按照下列步骤操作:

  1. 在启动 OAB 下载的应用程序事件日志中找到事件 ID 27 (查看事件数据) 。“说明: ”部分。

  2. 在可能包含以下部分或所有断言的事件的 “说明: ”部分中找到原因代码:

    • 0050:7a 65 61 7a 61 74 61 7a zeazataz

    • 0058:70 69 61 7a 7a 65 61 7a piazzeaz

    • 0060:61 74 61 7a 70 69 61 7a atazpiaz

  3. 使用以下代码解释这些原因代码:

    • “zaez”是“签名不匹配”的断言。

    • “zata”是MAPI_E_UNEXPECTED_ID的断言。

    • “zaip”表示“HrApplyOABDiffs 失败”。 必须下载完整。”

  4. 根据事件日志中的数据,可能需要安装以下Microsoft知识库文章中提到的 Exchange 修补程序:

    895476 当 Outlook 在 Exchange Server 2003 中下载脱机通讯簿时,Outlook 可能会收到完整下载,而不是增量下载

返回页首

OAB 序列号

Outlook 和 Exchange 都使用 OAB 序列号来确定从服务器下载到客户端的 .oab 文件的集合。 根据在客户端上找到的序列号和 .diff 文件的累积大小,将进行差异下载或完全下载脱机通讯簿。 可以使用以下数据验证序列号。

客户端应用程序事件日志

从偏移量 0008 开始,可以看到客户端和服务器的 OAB 序列号 (十六进制) 。 Offset 0008 是以下日志示例中的第二行:

                    0000: 09 00 00 00 00 00 00 00   ........0008: 9b 00 00 00 9a 00 00 00   ........

在此示例中,客户端序列号包含在前四个字节 (9b 中,) 服务器序列号位于此示例中第二个四个字节 (9a) 。在前面的示例数据中,客户端的序列号大于服务器的序列号,生成的脱机通讯簿错误代码为 9 (这是从偏移量为 0000) 的第一个字节获取的。返回到顶部

服务器端地址列表名称

在客户端和服务器脱机通讯簿 (地址列表) 名称不匹配或缺失的情况下,将下载完整的 .oab 文件。 生成的脱机通讯簿错误代码为 3、5 或 7。 可以使用以下数据验证脱机通讯簿 (地址列表) 名称。

客户端应用程序事件日志

从以下事件日志示例中的 offset 0090 开始,可以看到用于在服务器上填充脱机地址列表的服务器端地址列表的名称。 此外,可以从偏移量 00b8 开始找到存储客户端的名称。

                    0090: 5c 00 47 00 6c 00 6f 00   \.G.l.o.0098: 62 00 61 00 6c 00 20 00   b.a.l. .00a0: 41 00 64 00 64 00 72 00   A.d.d.r.00a8: 65 00 73 00 73 00 20 00   e.s.s. .00b0: 4c 00 69 00 73 00 74 00   L.i.s.t.00b8: 00 00 5c 00 47 00 6c 00   .\.G.l.00c0: 6f 00 62 00 61 00 6c 00    o.b.a.l.00c8: 20 00 41 00 64 00 64 00   .A.d.d.00d0: 72 00 65 00 73 00 73 00   r.e.s.s.00d8: 20 00 4c 00 69 00 73 00   .L.i.s.00e0: 74 00 00 00 38 62 32 61   t...e810

在此示例数据中,默认的全局地址列表用于脱机地址列表。 若要确认这是正确的地址列表,请在 Exchange 系统管理器 中执行以下步骤:

  1. 在存储的“属性”对话框中的“常规”选项卡上找到邮箱存储的脱机地址列表的名称。

  2. 展开“脱机地址列表”容器,然后右键单击“脱机地址列表”以查看属性。

  3. 在“ 常规 ”选项卡上,记下“ 地址列表”下的地址列表

返回页首

OAB GUID

Exchange 服务器和 Outlook 都使用匹配的 GUID 来确保它们保持同步。 在客户端和服务器 OAB GUID 不匹配或缺失的情况下,将进行完整的 .oab 文件下载。 生成的脱机通讯簿错误代码为 4、6 或 8。 可以使用以下数据验证 OAB GUID。

客户端应用程序事件日志

可以从偏移量 00b8 开始的脱机通讯簿日志数据中找到 GUID。Offset 00b8 是以下日志示例中的第一行:

                    00b8: 00 00 00 00 65 38 31 30   ....e81000c0: 35 35 61 38 2d 62 64 38   55a8-bd800c8: 38 2d 34 33 34 62 2d 39   8-434b-900d0: 37 31 37 2d 64 34 33 37   717-d43700d8: 61 62 34 35 31 35 36 39   ab45156900e0: 00 65 38 31 30 35 35 61   .e81055a00e8: 38 2d 62 64 38 38 2d 34   8-bd88-400f0: 33 34 62 2d 39 37 31 37   34b-971700f8: 2d 64 34 33 37 61 62 34   -d437ab40100: 35 31 35 36 39 00            51569

第一个 GUID 用于服务器,第二个 GUID (从偏移量 00e0 开始,) 用于客户端。返回页首

管理

警告 如果注册表编辑器使用不当,可能会导致严重问题,可能需要重新安装操作系统。 Microsoft无法保证可以解决错误使用注册表编辑器导致的问题。 使用注册表编辑器的风险自担。以下系统策略 (注册表项) 可用于关闭 OAB 日志记录功能(如果不需要):

HKEY_CURRENT_USER\Software\Policies\Microsoft\Exchange\Exchange Provider

设置

注册表值

DisableLogging

注册表类型

REG_DWORD

注册表数据

1:禁用 OAB 日志记录功能0: (默认) 如果不存在或设置为 0,Outlook 将生成脱机通讯簿日志

如果同时启用了 OAB 日志记录功能和 允许完整 OAB 提示 注册表项,Outlook 仍将创建脱机通讯簿日志条目,即使你单击“ ”提示下载完整的脱机通讯簿也是如此。有关“允许完整 OAB 提示”注册表项的详细信息,请单击下面的序列号以查看Microsoft知识库中的文章:

841273 在 Outlook 2003 中管理脱机通讯簿回到顶部

隐私问题

脱机通讯簿 ModDif 失败事件包含导致失败的完整 .diff 记录。 当 Outlook 尝试将 .diff 应用于文件时遇到故障时,将发生 ModDif 事件失败。 .diff 记录的详细信息将输出到事件数据。 ModDif 事件数据可能包含特定用户的电话号码、电子邮件地址、代理地址和别名。 因此,在共享此数据或将此数据上传到Microsoft产品支持服务之前,必须考虑到这一点。返回到顶部

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。