Exchange 日历更新工具 (Msextmz.exe) 的故障排除指南

文章翻译 文章翻译
文章编号: 934001 - 查看本文应用于的产品
展开全部 | 关闭全部

本文内容

概要

,Exchange 日历更新工具 (Msextmz.exe) 是 Exchange 管理员可以使用的时区更改应用到一个或多个用户的日历工具。 Exchange 日历更新工具使用时区数据更新工具的 Microsoft Office Outlook (Outlook 时区数据更新工具或 Tzmove.exe) 更新 Exchange 日历信息。本文档描述 Exchange 日历更新工具的工作方式。本文还包含某些运行时可能遇到的常见错误结果。
有关如何安装和使用 Exchange 日历更新工具的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
930879如何通过使用 Exchange 日历更新工具来解决夏时制时间

简介

本文介绍了 Exchange 日历更新工具的工作原理。此外,本文还介绍了在其中您可能会遇到错误时使用 Exchange 日历更新工具的某些条件。

注意本文列出了您更有可能通过使用以下标题遇到的错误:
常见的错误
其他错误标识相应地取决于如何有可能会遇到它们。

重要本文不是关于如何运行或如何配置 Exchange 日历更新工具的指南。

本文中的信息基于版本 2 的 Exchange 日历更新工具。

更多信息

概述

虽然 Exchange 日历更新工具是一个单个的二进制文件,它包含两个不同的模式的操作。 将第一个模式时区导出模式下用于收集有关哪些特定时区通常用于计划会议的信息。将第二个模式日历更新模式,用于对一组的邮箱运行 Outlook 时区数据更新工具。 以下是操作的 Exchange 日历更新工具的预期的序列:
  1. 管理员使用 Exchange 日历更新工具在时区导出模式下创建邮箱一起相关联的时区的列表。
  2. 管理员使用 Exchange 日历更新工具在日历更新模式下使用的时区信息对邮箱的一组应用时区更改。

阶段 1: Exchange 日历更新工具配置

当启动 Exchange 日历更新工具时,它采用一个参数。此参数是配置数据派生自的.ini 文件的名称。 默认状态下,该参数是
.\Msextmz.ini
此路径指示 Msextmz.ini Msextmz.exe 所在的文件夹中的文件。 Msextmz.ini 文件的配置部分中包含的 Exchange 日历更新工具的所有配置信息。 Msextmz.ini 文件被称为在本文的其余部分的.ini 文件。

注意Exchange 日历更新工具从 C 运行时库接收两个参数。第一个参数是程序名。

初始化步骤

初始化 Exchange 日历更新工具进行下列步骤:
  1. 对于所有更高版本的配置调用使用.ini 文件。 如果不存在此文件,您可能会收到以下错误消息以响应任何以后的调用,若要配置 Exchange 日历更新工具:

    常见的错误
    错误 0x80070002
    系统无法找到文件。
    如果不存在的.ini 文件,则会收到此错误结果。
  2. Exchange 日历更新工具从以下项.ini 文件中读取日志记录级别:
    LoggingLevel=logging_level
    Exchange 日历更新工具如果不存在于.ini 文件 LoggingLevel 条目使用默认值为 0 (零)。事件生成日志项的特定事件的日志记录级别必须是小于 LoggingLevel 项目中显示的日志记录级别。
  3. Exchange 日历更新工具从以下项.ini 文件中读取 Msextmz.log 文件的名称:
    Logfile=file_name
    如果 日志文件 项中设置没有日志文件名称,Exchange 日历更新工具不会将写到一个日志文件。 如果在 日志文件 项中设置一个日志文件,Exchange 日历更新工具将打开具有写权限日志文件。

    注意如果需要 Exchange 日历更新工具将删除现有日志文件。未能打开该日志文件是致命错误。此错误返回 Win32 错误结果。此外,您可能会收到以下错误消息:

    常见的错误
    错误 0x80070003
    系统找不到指定的路径。
    如果 日志文件 值设置为不存在的文件夹,则会发生此错误。例如对于,如果您有类似于以下内容的 日志文件 项,则可能会收到此错误:
    Logfile=c:\tamp\msextmz.log
    在此的示例 Temp 文件夹的名称有拼写错误为"tamp。
  4. Exchange 日历更新工具从以下项.ini 文件中读取 Outlook 时区数据更新工具的命令行:
    CommandLine=Path_of_the_Tzmove.exe_Program_File
    CommandLine 项必须指定已安装的 Tzmove.exe 程序文件的路径和而不是 Outlook 时区数据更新工具的 Windows 安装文件的路径。

    注意Windows 安装文件的 Outlook 时区数据更新工具也称作 Tzmove.exe。

    必须设置 CommandLine 条目.ini 文件中。是否使用 Exchange 日历更新工具导出时区或您使用 Exchange 日历更新工具更新时区信息也是如此。

    注意虽然 Exchange 日历更新工具不能使用或要导出的时区信息,如果未设置 CommandLine 条目,则使用 Exchange 日历更新工具时验证 CommandLine 项,Exchange 日历更新工具将无法正常工作。此外,您会收到以下错误结果:
    0x80004005 – MAPI_E_FAILED
  5. Exchange 日历更新工具从以下项.ini 文件中读取服务器的可分辨名称 (也称为 DN) 的值:
    ServerDN=Server_distinguished_name_value
    ServerDN 项必须指定的时区提取服务器 LegacyDN 属性值。但是,为日历的更新操作此项必须指定相对可分辨的名称 (也称为 RDN) 的服务器。例如对于 ServerDN 条目的值可能会出现类似于以下内容:
    cn=ServerName
    如果 ServerDN 项中的值未设置,Exchange 日历更新工具失败。此外,您会收到以下错误结果:
    0x80004005 – MAPI_E_FAILED
  6. Exchange 日历更新工具从以下项.ini 文件中读取输出文件的名称:
    Outputfile=Output_file_name
    Outputfile 条目的值用于在时区导出模式下编写用户 LegacyDN 信息和时区数据。 Exchange 日历更新工具不会在日历更新模式下使用 Outputfile 条目。但是,如果设置 Outputfile 条目的值,则 Exchange 日历更新工具将打开该文件有写权限。

    注意如果需要 Exchange 日历更新工具将覆盖现有的输出文件。未能打开输出文件是一个严重错误。在这种情况下返回代码为 Win32 错误。

    如果 Outputfile 条目指定了无效位置,Exchange 日历更新工具将无法正常工作。此外,您会收到以下错误结果:

    常见的错误
    错误 0x80070003
    系统找不到指定的路径。
    例如对于您可能会收到此错误,如果您具有类似于以下内容的 Outputfile 条目: 在此示例
    Outputfile=c:\tamp\mailboxes.txt
    ,Temp 文件夹的名称是拼写错误为"tamp。
  7. Exchange 日历更新工具从以下项.ini 文件中读取输入文件的名称:
    Inputfile=Input_file_name
    的 Exchange 日历更新工具可以使用日历更新模式中,并在时区导出模式下输入的文件。Exchange 日历更新工具将使用指定用户的邮箱的 LegacyDN 属性处理输入的文件。 如果设置 Inputfile 条目的值,则 Exchange 日历更新工具将打开输入的文件具有读取权限。在这种情况下输入的文件必须存在。未能打开输入的文件是一个严重错误。返回代码为 Win32 错误。
  8. Exchange 日历更新工具从以下项中的.ini 文件读取错误文件的名称:
    Errorfile=Error_file_name
    的 Exchange 日历更新工具可以使用日历更新模式和时区导出模式中的错误文件。 错误文件包含的任何用户都无法进行处理 LegacyDN 属性。

    注意未能找到任何时区信息并不表示特定用户将显示错误文件中。

    如果设置 Errorfile 项,Exchange 日历更新工具将打开该文件有写权限。如果需要 Exchange 日历更新工具将覆盖现有文件。 未能打开错误文件是一个严重错误。返回代码为 Win32 错误。

    如果 Errorfile 条目设置为无效的位置,Exchange 日历更新工具将失败。此外,您会收到以下错误结果:

    常见的错误
    错误 0x80070003
    系统找不到指定的路径。
    例如对于您可能会收到此错误,如果您有一个类似于以下内容的错误文件项: 在此示例
    Errorfile=c:\tamp\errors.log
    ,Temp 文件夹的名称是拼写错误为"tamp。
  9. Exchange 日历更新工具从以下项.ini 文件中读取 MAPI 配置文件名称:
    Profile=MAPI_profile_name
    配置文件 项不是所需的值。但是,Exchange 日历更新工具使用此值在时区导出模式来确定用于访问邮箱表的 MAPI 配置文件。 在 配置文件 项中指定的配置文件必须指向将处理在服务器上的邮箱。此外,该帐户必须具有管理信息存储权限在服务器上每个邮箱存储上。 配置文件 项的值不在此点验证。因此,一个不正确的配置文件不会导致致命错误。
  10. Exchange 日历更新工具从以下项.ini 文件中读取默认时区:
    Timezone=Default_time_zone
    日历更新模式中使用的 时区 项。 时区 项的值指定一个主时区,并在 Exchange 日历更新工具用于在输入文件中并且的不包含的时区信息的邮箱。 此值必须指定将从以下注册表位置的注册表子项:
    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Timezones
    例如对于以下项设置的 时区 项以值在 (GMT-3: 00) Brasillia 时区:
    Timezone=HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\E. South America Standard Time
    的 Exchange 日历更新工具将立即验证通过调用 HrReadTimezoneFromRegistry 函数的 时区 值。如果不存在的时区,则函数调用将失败。此外,如果无法从注册表读取所有参数,无法正常工作此函数调用。
  11. Exchange 日历更新工具从以下项.ini 文件中读取标志:
    ExportTimezones=flag
    的 Exchange 日历更新工具使用此标志来确定是否导出时区数据。如果 ExportTimezones 条目的值为 1 (TRUE),Exchange 日历更新工具将尝试从处理每个邮箱读取时区数据。
  12. Exchange 日历更新工具从以下项.ini 文件中读取标志:
    ReadCalendarTimezones=flag
    的 Exchange 日历更新工具使用此标志来确定是否要处理的时区信息的日历项目。如果 ReadCalendarTimezones 值设置为 1 (TRUE),Exchange 日历更新工具将搜索的用户是组织者的定期项目的日历。此外,Exchange 日历更新工具会尝试确定与日历项目相关联的时区。
  13. Exchange 日历更新工具从以下项.ini 文件中读取后续处理的延迟值:
    PostMailboxDelay=Post_processing_delay_in_seconds
    PostMailboxDelay 条目的值中使用该实例处理邮箱之后,必须暂停日历更新模式以指定多长时间实例。此功能旨在让处理从恢复的邮箱服务器。PostMailboxDelay 值指定以秒为单位)。默认状态下,PostMailboxDelay 值设置为 0 (零)。值为 0 (零) 表示有任何后续处理的延迟。
  14. Exchange 日历更新工具从以下项.ini 文件中读取每个邮箱 rebasing 时间限制:
    PerMailboxTimeLimit=Rebasing_time_limit
    PerMailboxTimeLimit 条目的值设置为 Outlook 时区数据更新工具完成 rebasing 邮箱的 Exchange 日历更新工具等待的最大时间。 PerMailboxTimeLimit 项的默认值是 无限 的。此值指示 Exchange 日历更新工具永远等待完成 rebasing 邮箱 Outlook 时区数据更新工具。无限长 之外的其他值指定以分钟为单位)。
  15. Exchange 日历更新工具从以下项.ini 文件中读取日志文件文件夹名称的最后,:
    LogDirectory=Log_file_folder_name
    日志文件文件夹代表 Outlook 时区数据更新工具日历更新日志文件写入该文件夹。

    注意Outlook 时区数据更新工具仅将日志文件信息写入到此文件夹 Outlook 时区数据更新工具是否配置为记录日历更新信息。

    此项并不表示 Exchange Calendar Update Tool 日志文件指派的文件夹中的存储。 如果 LogDirectory 项中包含一个无效值,您会收到以下错误结果:

    常见的错误
    错误 0x80070003
    系统找不到指定的路径。
    张贴内容 rebase 处理操作过程中会出现此错误。

阶段 2: 主处理

配置操作完成后 Exchange 日历更新工具将执行一次初始化操作。然后,Exchange 日历更新工具启动主处理操作。 第一次,Exchange 日历更新工具将初始化 MAPI。无法初始化 MAPI 导致致命错误。通常,这种类型的错误指示一个更早版本的 MAPI 崩溃,在计算机上已离开 MAPI 子系统不稳定状态中。在这种情况下,您必须重新启动计算机。通常,重新启动计算机可以解决此初始化问题。才能 Exchange 日历更新工具开始完整操作 Exchange 日历更新工具必须检索系统时区信息。Exchange 日历更新工具使用 GetTimezoneInformation Win32 API 来执行此操作。 Exchange 日历更新工具使用此时区信息来恢复系统的时区,如果日历更新操作过程中更改了系统的时区。

重要 如果 Exchange 日历更新工具程序关闭日历更新会话过程中,计算机可能仍处于不同时区比其在日历更新会话启动时使用的时区。

Exchange 日历更新工具将保存原始时区信息后,Exchange 日历更新工具将启动主处理操作。Exchange 日历更新工具时使用此处理两个主要信息来源:
  • 邮箱表
  • 输入的文件
邮箱表仅可用于导出的时区信息。但是,时区导出操作或日历更新操作,可以使用该输入的文件。如果未设置 Inputfile 项的值,则 Exchange 日历更新工具将不会处理邮箱表。

邮箱表处理

Exchange 日历更新工具使用 HrProcessMailboxTable 函数执行邮箱表处理。 若要处理邮箱表,Exchange 日历更新工具将首先执行登录的操作。 如果.ini 文件中设置的 配置文件 项的值,Exchange 日历更新工具将使用登录到邮箱 配置文件 项中指定的配置文件。如果未设置 配置文件 值,则 Exchange 日历更新工具将提示您选择一个存储的配置文件。您选择的配置文件必须指向包含您想要处理该邮箱的服务器上承载的邮箱。此外,此配置文件必须具有特定的服务器上的所有邮箱存储上设置的管理信息存储权限。 Exchange 日历更新工具将使用指定的配置文件登录到 MAPI。

如果不存在指定的配置文件,您将收到以下错误结果:

可能的错误
错误 0x8004010F
MAPI_E_NOT_FOUND
Exchange 日历更新工具登录到 MAPI 之后,Exchange 日历更新工具将获取邮箱表。此表代表特定信息存储上存在的邮箱的列表。 由于 Exchange 日历更新工具用户界面中的一个限制的单个导出操作中返回仅包含 65,535 的邮箱。

注意如果在服务器中有多个 65,535 邮箱最好使用 Active Directory 服务接口 (ADSI) 查询来确定在服务器上承载的邮箱数。此查询然后将用于生成输入的文件。 然后进行 Exchange 日历更新工具可以处理该输入的文件生成的时区信息。 对于邮箱表中的每一行 ExportTimezones 条目的值设置为 1.ini 文件中如果 Exchange 日历更新工具尝试提取用户的时区信息。 如果没有配置 ExportTimezones 值,则输出文件将只包含用户可分辨名称。在这种情况下会不生成任何时区信息。

要提取的时区信息,Exchange 日历更新工具必须执行的管理级登录到邮箱。此操作需要管理信息存储权限。如果 Exchange 日历更新工具运行该帐户不到该的邮箱具有"完全邮箱访问"权限,或者 Exchange 日历更新工具运行该帐户没有邮箱存储的管理信息存储的权限,您可能会遇到以下错误结果:

常见的错误
错误: 0x8004011D
MAPI_E_FAIL_ONE_PROVIDER
此外,您可能会收到以下错误消息:
HrProcessMailboxTable

无法登录到用户邮箱: 错误 – 0x8004011D。

正在提取的时区信息

HrFindMailboxTimezone 顶级函数执行的操作中提取的时区信息。 时区信息分为下列主要源:
  • 协作数据对象 (CDO)
  • Microsoft Office Outlook Web Access
  • outlook 2007 或 Outlook 时区数据更新工具
  • 日历
时区信息的每个类型都有一个相应的函数以检索时区信息。这包括以下功能:
  • HrFindCDOTimezone
  • HrFindOWATimezone
并非所有邮箱都具有所有种类的时区信息。如果不找到特定类型的任何时区信息,则会返回以下错误结果:

常见的错误
0x80004005 MAPI_E_FAILED
这不是致命错误。此错误并不表示数据损坏。 某些邮箱不能包含任何可用的时区信息。

注意如果应对 Exchange 日历更新工具,进行自动修改 MAPI_E_FAILED 错误结果,在这种情况下将替换为 MAPI_E_NOT_FOUND 错误排定日程。

从哪个时区读取信息的位置

从下列位置中读取时区信息:
  • 从用户的收件箱中读取 CDO 的信息。 CDO 时区信息才可用,如果 CDO 应用程序登录到邮箱。此操作设置的时区,CDO 会话选项。 该方案中动画 (RIM) 客户和正确的客户与其他 CDO 用户一起包括信息检索。
  • 从该邮箱的根中读取 outlook Web Access 的信息。从根文件夹中读取 outlook Web Access 的时区信息。在这种情况下如果用户具有 Outlook Web Access 设置,但没有设置的时区项您收到以下错误结果当您尝试读取时区信息:

    常见的错误
    0x8004011b – MAPI_E_CORRUPT_DATA
  • 从日历文件夹中相关联的消息中读取 outlook 2007 和 Outlook 时区数据更新工具所在的时区信息。
  • 从日历项中读取日历数据所在的时区信息。Exchange 日历更新工具将扫描该日历,以获取时区数据。 若要获取此数据,Exchange 日历更新工具检查每个的项目寻找定期项目的用户是组织者。然后,Exchange 日历更新工具从该项目中提取的时区描述字符串。因为在 Outlook Web Access 中的定期会议不会标记以指示该会议的组织的用户,Exchange 日历更新工具可能无法检测到时区信息在定期会议。
读取所有时区信息后,Exchange 日历更新工具将信息发送到输出文件。此信息具有以下格式:
UserDN<tab>CDOTimezone<tab>OWATimezone<tab>Outlook2007/TZMOVETimezone<tab>CalendarDataTimezone<tab><crlf>
在这种格式:
  • <tab>代表一个 TAB 字符分隔符。
  • <crlf>表示回车返回换行字符组合。
之后的时区信息发送到输出文件 Exchange 日历更新工具从用户的邮箱中注销。

处理输入的文件

如果 Exchange 日历更新工具处理输入的文件,这可能意味着 Exchange 日历更新工具必须执行的一个子集的用户的更新。此外,这可能意味着 Exchange 日历更新工具必须导出的一个子集的用户的时区信息。 HrProcessInputFile 函数执行输入文件的最高级别处理。此函数一次读取输入的文件的一行。 输入文件中的单个行不能超过 1,025 个字符。

如果输入的文件不正确分隔,并在单个线路超过 1,025 字符会返回以下错误结果:

常见的错误
0x80004005 – MAPI_E_FAILED
如果输入的文件中包含一个可分辨的名称是一个可分辨名称的最大长度,可能没有空间可用于服务器条目或输入字符串中的时区项。此错误情况不大可能会发生。但是,如果出现这种情况,则会收到以下错误结果:

不常见的错误
0x80004005 – MAPI_E_FAILED
注意 当前,修补程序不可用来解决此问题。

Exchange 日历更新工具读取一行后,Exchange 日历更新工具将在行中的 TAB 分隔条目拆分组件部分。 格式如下所示:
UserDN<tab>Server<tab>Timezone<crlf>
在这种格式:
  • UserDN是邮箱的旧版 dn。
  • Server是服务器的服务器名称。Server 不是服务器的旧版 dn。
  • Timezone是从以下注册表位置的注册表子项名称:
    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Timezones
    例如对于 E.南美洲标准时间 的值将邮箱所在的时区设置为 (GMT-3:00) Brasillia
Exchange 日历更新工具将拆分成其组件部分 TAB 分隔条目之后,Exchange 日历更新工具将调用 HrProcessMailbox 函数。

处理单个邮箱

若要处理单个邮箱,Exchange 日历更新工具将数据转换为 Unicode。Exchange 日历更新工具确定从 LegacyDN 项在用户的相对可分辨的名称。为执行此操作 Exchange 日历更新工具将检查最后一个等号 (=) 旧版 dn 路径中。然后,Exchange 日历更新工具通过使用以下命令来创建一个配置文件和更高版本的登录到此配置文件:
MSEXTMZ-RDN-TickCount
注意Exchange 日历更新工具使用 HrCreateOutlookProfile 函数来创建用户配置文件。

如果输入的文件中有不正确的 TAB 分隔符 Exchange 日历更新工具可能会产生了不正确的 UserDN 值或 $ 服务器名称。在这种情况下您会收到以下错误结果:

常见的错误
0x8004011c – MAPI_E_UNCONFIGURED
创建配置文件后,Exchange 日历更新工具将确定是否要更新邮箱或提取的时区信息。如果 ExportTimezones = 1 是集.ini 文件的 Exchange 日历更新工具中调用 HrFindDefaultMailboxTimezone 函数提取的时区信息。如果 Exchange 日历更新工具运行该帐户不到邮箱具有"完全邮箱访问"权限,则会收到以下错误结果:

常见的错误
0x8004011d – MAPI_E_FAIL_ONE_PROVIDER
此外,您还会收到以下错误消息:
HrFindDefaultMailboxTimezone
无法打开邮箱-0x8004011D
如果不会发生错误,Exchange 日历更新工具将执行"Extracting 时区信息"一节中提到的邮箱所在的时区提取过程。

如果正在运行的 Exchange 日历更新工具的目的是要更新日历信息,Exchange 日历更新工具将调用 HrTestMailboxAccess 函数。此函数将验证 Exchange 日历更新工具可以登录到特定的邮箱。此外,此函数将验证 Exchange 日历更新工具可以打开该邮箱中的文件夹。若要执行此操作函数试图打开发件箱文件夹。

如果 Exchange 日历更新工具运行该帐户不到邮箱具有"完全邮箱访问"权限,您会遇到以下症状:
  • 您会收到以下错误结果:

    常见的错误
    0x8004011d – MAPI_E_FAIL_ONE_PROVIDER
    此外,您还会收到以下错误消息:
    HrTestMailboxAccess
    无法打开邮箱-0x8004011D。
  • 您会收到以下错误结果:

    常见的错误
    0x80040111 – MAPI_E_LOGON_FAILED
    此外,您还会收到以下错误消息:
    HrTestMailboxAccess
    无法打开邮箱-0x80040111
如果不会发生错误,Exchange 日历更新工具将执行"Extracting 时区信息"一节中提到的邮箱所在的时区提取过程。

然后,Exchange 日历更新工具从注册表读取用户的时区信息。若要执行此操作 Exchange 日历更新工具调用 HrReadTimezoneFromRegistry 函数。HrReadTimezoneFromRegistry 函数试图读取指定为一个子项的以下注册表位置的时区信息:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\
在此子项,DLT、 STD,和 TZI 值必须存在针对特定的时区。如果不存在这些值,呢时区读取操作未成功。如果指定的时区不存在作为一个时区的注册表子项的子项,或者 Exchange 日历更新工具不具有足够的权限访问该注册表位置被返回以下错误结果:

常见的错误
0x80070002 – FILE_NOT_FOUND
读取注册表中的时区后,Exchange 日历更新工具必须设置为该值的系统的时区。若要执行此操作 Exchange 日历更新工具调用 HrSetSystemTimezone 函数。如果系统已经在特定的用户的正确的时区,HrSetSystemTimezone 函数不会修改系统的时区。 如果 HrSetSystemTimezone 函数必须修改时区,令牌的权限必须设置为时区权限授予 Exchange 日历更新工具。默认状态下,分配此权限。默认状态下,但是,此权利不存在任何标记上。

重要HrSetSystemTimezone 函数中的任何失败很可能会发生是因为 Exchange 日历更新工具运行该帐户没有设置系统时区的权限。

启动 Outlook 时区数据更新工具,然后确定成功的操作

在 $ 系统后时区是正确地为用户设置通过已被正确或其 Exchange 日历更新工具正在准备启动 Outlook 时区数据更新工具将 Exchange 日历更新工具设置。 此准备包括收集数据,以帮助确定 Outlook 时区数据更新工具是否成功。

若要启动,Exchange 日历更新工具将在事件日志中记录最新的事件的数。如果 Outlook 时区数据更新工具已成功完成,Outlook 时区数据更新工具将一个成功事件写入到事件日志。此事件是事件 ID 32 TZMOVE 来源。 Outlook 时区数据更新工具不可能编写一个更新日志。因此,Exchange 日历更新工具必须检查事件日志,以确定 Outlook 时区数据更新工具是否成功。 当 Exchange 日历更新工具将检查事件日志时,Exchange 日历更新工具将从 Outlook 时区数据更新工具启动之前已记录的最新事件日志项开始。

Exchange 日历更新工具调用 HrSpawnOutlookTool 函数启动 Outlook 时区数据更新工具。 HrSpawnOutlookTool 函数使用.ini 文件中的 CommandLine 项中指定的命令行。 Exchange 日历更新工具然后等待,直到关闭 Outlook 时区数据更新工具。

注意 因为 Outlook 时区数据更新工具已成功完成,或因为 Outlook 时区数据更新工具崩溃,可能会关闭 Outlook 时区数据更新工具。

Outlook 时区数据更新工具关闭后,Exchange 日历更新工具将确定 Outlook 时区数据更新工具是否成功。如果在.ini 文件中 CommandLine 项路径未设置为正确的路径的 Tzmove.exe,则会收到以下错误结果:

常见的错误
0x80070002 – FILE_NOT_FOUND
如果将失败 HrSpawnOutlookTool 函数 Exchange 日历更新工具不会尝试读取事件日志。此外,Exchange 日历更新工具不会尝试创建 Outlook Time Zone Data Update 工具日志文件的副本。但是,如果 Outlook 时区数据更新工具已成功启动,Exchange 日历更新工具会尝试确定 Outlook 时区数据更新工具是否成功。为执行此操作 Exchange 日历更新工具将检查事件日志。Exchange 日历更新工具将尝试检索最新的事件日志记录的事件 ID。Exchange 日历更新工具将检查当前的"最新的"事件日志记录从原始的"最新的"事件日志记录事件日志。

如果原始的"最新的"事件日志记录和当前的"最新的"事件日志记录都是相同的记录,Exchange 日历更新工具将确定没有事件已被写入事件日志。在这种情况下您会收到以下错误结果:

常见的错误
0x80004005 – MAPI_E_FAILED
此外,您还会收到以下错误消息:
HrProcessMailbox: 无事件日志记录写入 – 视为失败。
您可能会遇到此问题,如果一个或多个下列条件都为真:
  • 在事件日志中没有足够的可用空间来写入事件。在这种情况下 Outlook 时区数据更新工具可能有 rebased 邮箱成功。但是,Exchange 日历更新工具不能确定 Outlook 时区数据更新工具是否成功。
  • 在.ini 文件点到 Tzmove.exe 安装文件,而不 Tzmove.exe 程序文件中的 CommandLine 项中。

    注意大约 8 兆字节 (MB) 为 Tzmove.exe 安装文件。
  • 在启动时崩溃 Outlook 时区数据更新工具。因此,Outlook 时区数据更新工具未写入事件日志事件。此问题很可能会发生如果 Tzmover.dll 文件不在 Tzmove.exe 所在的文件夹。
如果不会发生错误,Exchange 日历更新工具将调用 HrScanEventLogForSuccessAt 函数以检查事件日志中有 Outlook 时区数据更新工具成功记录。事件 ID 32 成功事件来源 TZMOVE 指示邮箱已成功 rebased。

如果 Outlook 时区数据更新工具成功运行,但不会将成功事件写到事件日志,HrScanEventLogForSuccessAt 函数检查事件日志时生成以下错误结果:

常见的错误
0x80004005 – MAPI_E_FAILED
此外,您还会收到以下错误消息:
HrScanEventLogForSuccess:Success
在应用程序日志,将视为故障中找不到的事件。
应用程序日志可能包含有关 Outlook 时区数据更新工具的失败原因的详细信息。此外,如果 LoggingLevel 条目设置为 2 或更大的值,该日志文件可能包含详细信息。如果可能,Outlook 时区数据更新工具事件日志是也回显到 Exchange 日历更新工具事件日志。

如果 Outlook 时区数据更新工具已成功完成,Exchange 日历更新工具将尝试存档 Outlook Time Zone Data Update 工具日志文件。此文件被命名为 Outlook 时区 Update.log。Outlook 时区 Update.log 文件被写入 %temp%文件夹中的每个用户。 Outlook 时区数据更新工具不能始终写入一个日志文件。因此,它不是如果没有日志文件编写视为失败。如果 LogDirectory 条目配置不正确,则返回以下错误结果:

常见的错误
0x80070003
系统找不到指定的路径。
如果.ini 文件类似于以下内容的条目,您可能会遇到此问题:
LogDirectory=c:\tamp\
此的条目在 Temp 文件夹的名称拼写错误,如"tamp。

Outlook 时区数据更新工具然后将更新日志文件复制到一个文件,为 MAPI 配置文件的配置文件使用相同的名称。此文件的名称具有以下格式:
MSExTmz-RDN-TickCount.log
最后,Exchange 日历更新工具会暂停 PostMailboxDelay 输入.ini 文件中的指定的时间段。在任何故障的情况下如果在的.ini 文件中设置 ErrorFile 条目的值,则该用户的旧版 dn 将被发送到文件时出错。此文件包含的都不已成功处理的用户的列表。

解释 Exchange 日历更新工具错误代码

Exchange 日历更新工具使用 HRESULTS 生成错误代码。因此,错误代码被解释为 HRESULTS 代码。这意味着您可以剖析任何错误代码来为您提供了更多的信息。

HRESULTS 代码是易于识别,因为 HRESULTS 错误开头 0x80。 在该 HRESULT 中的下一个号码是设施代码。功能代码会告诉您错误的近似的来源。
  • 7 的功能代码指示系统错误。
  • 4 的一个功能代码指示应用程序错误。
因此,0x80070002 的 HRESULT 指示发生系统错误。0x8004010F 的 HRESULT 指示发生了应用程序错误。

功能代码表示实际错误代码后出现的错误的一部分。请考虑下面的示例错误代码:
0x80070002
  • 在此错误,7 表示功能代码。
  • 剩余的值 0002,表示错误代码。
查找系统错误代码的一种方法是使用 NET HELPMSG errorcode 命令。例如对于如果一个命令提示符下键入 NET HELPMSG 2,并且然后按 ENTER 键您会收到以下消息:
系统找不到指定的文件。
此消息通常表示一个文件不能定位。

下面的示例表示一个应用程序错误:
0x8004010F
在本例中为错误代码是 0x10F。您可以检查 Mapicode.h 将文件从 MSDN 或 Live Search 找到的错误代码 0x10F 相对应的错误消息。错误代码 0x10F 对应于以下错误消息:
MAPI_E_NOT_FOUND
此错误消息通常表示程序找不到 MAPI 属性。但是,如果程序不能找到一个特定的文件夹可能会也收到此错误消息。

参考

有关详细的信息请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
930879如何通过使用 Exchange 日历更新工具来解决夏时制时间
238119扩展 MAPI 数字结果代码的列表
本文讨论了在第三方产品是由独立于 Microsoft 的公司生产的。Microsoft 使不保证或暗示或其他有关性能或可靠性,这些产品的方式。

属性

文章编号: 934001 - 最后修改: 2007年10月25日 - 修订: 1.1
这篇文章中的信息适用于:
  • Microsoft Exchange Server 2003 Enterprise Edition
  • Microsoft Exchange Server 2003 Standard Edition
  • Microsoft Exchange 2000 Server 标准版
  • Microsoft Exchange 2000 Enterprise Server
关键字:?
kbmt kbhowto kbexpertiseadvanced kberrmsg kbinfo KB934001 KbMtzh
机器翻译
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。
点击这里察看该文章的英文版: 934001
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com