本任务的内容
%26#8226; 摘要 %26#8226; RPC 客户端协议注册表条目 %26#8226; RPC_Binding_Order %26#8226; ClientProtocols %26#8226; 解决 RPC 注册表条目的错误 %26#8226; Outlook 错误信息 %26#8226; 使用网络监视器来识别 RPC 问题 %26#8226; 还原丢失的 RPC 注册表值 %26#8226; 第 1 步:验证注册表条目 %26#8226; 第 2 步:验证 DLL 文件的版本 %26#8226; 第 3 步:删除然后重新安装 TCP/IP %26#8226; 参考 概要
Outlook 使用 RPC 向网络发出调用。RPC 允许 Outlook 将调用发送到许多不同的协议堆栈。这些调用将依赖于计算机上提供的协议堆栈。最常用的协议是 TCP/IP,但是 RPC 还可以与 NetBIOS、TCP/IP 上的 NetBIOS 和 IPX/SPX 配合使用。RPC 客户端协议注册表条目
这一部分介绍了用于控制 Outlook 所使用的 RPC 协议的两个主要注册表条目。RPC_Binding_Order
RPC_Binding_Order 注册表条目是在您安装 Outlook 客户端或 Exchange Server 时创建的,它确定了用于进行通讯的协议序列。您可以在以下注册表项中找到此条目:
有关如何修改或还原绑定顺序的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章: ClientProtocols
Client Protocols 子项是在您安装操作系统和第一个网络协议时创建的,它包含的注册表条目用于确定客户端用来连接到 Exchange Server 的协议。您可以在 Microsoft Windows 2000 和 Microsoft Windows XP 上的以下注册表项中找到此子项: 字串值名称 数值数据
ncacn_np rpcrt4.dll
ncacn_ip_tcp rpcrt4.dll
ncadg_ip_udp rpcrt4.dll
ncacn_http rpcrt4.dll
注意:在 Microsoft Windows NT 4.0 中,此子项的位置是相同的,但是默认的 TCP/IP 条目不同。下表介绍了 Windows NT 的默认 TCP/IP 条目: 字串值名称 数值数据
ncacn_np rpcltc1.dll
ncalrpc ncalrpc
ncacn_ip_tcp RpcLtCcm.Dll
ncadg_ip_udp RpcLtCcm.Dll
ncacn_nb_tcp rpcltccm.dll
ncacn_http rpcltccm.dll字串值名称 数值数据
ncacn_np rpcltc1.dll
ncalrpc ncalrpc
ncacn_ip_tcp rpcltc3.dll
ncacn_http rpcltccm.dll解决 RPC 注册表条目的错误
如果任一 RPC 注册表条目丢失,Outlook 就无法连接到 Exchange Server。如果 ClientProtocols 子项或数据数值丢失,则 Outlook 客户端可能无法使用需要的协议进行连接。为使 Outlook 可以使用适当的 RPC 协议,ClientProtocols 子项和数据数值必须存在并且准确。
例如,如果存在的唯一 RPC ClientProtocols 条目是 ncacn_np(其值为 rpcrt4.dll),则 Outlook 将在默认端口 139 上使用 TCP/IP 上的命名管道,尝试连接到运行 Exchange Server 的计算机。如果此连接必须穿过防火墙,则端口 139 必须是打开的。必须还原丢失的注册表条目 ncacn_ip_tcp(其值为 rpcrt4.dll),以支持使用端口 135 或端口 445 的、到 Exchange Server 的 TCP/IP 连接。Outlook 错误信息
当 RPC 注册表条目丢失或损坏时,Outlook 客户端中可能会显示下列错误信息:
如果 RPC 注册表条目丢失或损坏,可能会出现下列问题: %26#8226; %26#8226; %26#8226; %26#8226; %26#8226; %26#8226; %26#8226; 用户收到新邮件,但是新邮件通知不工作。如果用户数据报协议 (UDP) 的 RPC 注册表值丢失,也可能会出现此问题。 %26#8226; 用户无法连接到运行 Exchange Server 的计算机。 %26#8226; 用户无法在“全球通讯簿”中验证别名。 %26#8226; 系统多次提示用户输入登录凭据,然后用户收到本文先前列出的错误信息。 %26#8226; 传真打印机无法访问。 使用网络监视器来识别 RPC 问题
您可以使用网络监视器来识别与 RPC 相关的问题。如果捕获的跟踪不包含任何来自客户端或服务器的 RPC 通信,则整个 RPC 子项可能丢失。如果此子项存在,请确保 ncacn_ip_tcp 条目(其值为 rpcrt4.dll)没有丢失。如果 ncacn_ip_tcp 条目(其值为 rpcrt4.dll)丢失,客户端就不会尝试使用端口 135 连接到 TCP/IP。客户端只会尝试使用 NetBIOS 或 TCP/IP 上的命名管道(端口 139 或 445)进行连接。
有关如何使用 Exchange Server 分析客户端网络通信的更多信息,请访问下面的 Microsoft Web 站点: 还原丢失的 RPC 注册表值
警告:注册表编辑器使用不当可导致严重问题,可能需要重新安装操作系统。Microsoft 不能保证可以解决因注册表使用不当所导致的问题。使用注册表编辑器需要您自担风险。
要还原丢失的 RPC 注册表值,请按照这一部分所述的步骤操作,直到解决此问题为止。第 1 步:验证注册表条目
1. 单击“开始”,然后单击“运行”。 2. 在“打开”框中,键入 regedit,然后单击“确定”。 3. 在注册表中找到下面的项: 4. 如果任何值丢失,请添加丢失的值。为此,请按照下列步骤操作: a. 在“编辑”菜单上,指向“新建”,然后单击“字串值”。 b. 键入丢失的字串值的名称,然后按 Enter 键。 c. 按 Enter 键。 d. 在“编辑字符串”对话框中,在“数值数据”框中键入丢失的数值数据,然后单击“确定”。 5. 退出注册表编辑器。 6. 重新启动计算机。 7. 测试 Exchange Server 连接。 第 2 步:验证 DLL 文件的版本
如果所有注册表值都存在,请验证计算机上的 RPC 动态链接库 (DLL) 文件的版本。RPC DLL 文件的版本必须与计算机上的 Windows 操作系统的版本和内部版本号匹配。
注意:本文中先前介绍的注册表项列出了每个 RPC 使用的 DLL 文件的名称。例如,Rpc4rt4.dll 是由 Windows 2000 和 Windows XP 上的 TCP/IP 使用的 DLL 文件。
要确定计算机上的 Windows 操作系统的版本和内部版本号,请按照下列步骤操作。
要确定 DLL 文件的版本,请按照下列步骤操作: 1. 单击“开始”,然后单击“运行”。 2. 在“打开”框中,键入 winver。 3. 记下版本和内部版本号。
如果 DLL 文件的版本与计算机上 Windows 操作系统的版本和内部版本号不匹配,请使用正确的版本来替换此 DLL 文件。为此,请按照下列步骤操作: 1. 在 Windows 资源管理器中,在 Windows\System32 文件夹中找到 RPC DLL 文件。 2. 右键单击此文件,然后单击“属性”。 3. 单击“版本”。 4. 记下文件版本。
此文件版本必须反映计算机上 Windows 操作系统的内部版本号。例如,在 Windows XP 5.1 版内部版本 2600 中,Rpcrt4.dll 文件版本是 5.1.2600.0。1. 找到 DLL 文件的正确版本。
您可以在 Windows CD、Windows Service Pack 或另一台运行同一内部版本 Windows 的计算机上找到此文件。2. 在遇到此问题的计算机上,找到 DLL 文件。 3. 将此 DLL 文件的扩展名更改为 .bak 或 .old。 4. 将正确的 DLL 文件复制到遇到此问题的计算机上。 5. 重新启动计算机。 6. 测试 Exchange Server 连接。 第 3 步:删除然后重新安装 TCP/IP
如果您无法通过执行第 1 步和第 2 步来重新建立 Exchange Server 连接,请删除然后重新安装 TCP/IP。为此,请按照下列步骤操作: 1. 单击“开始”,然后单击“控制面板”。 2. 双击“网络连接”。 3. 右键单击网络连接,然后单击“属性”。 4. 单击以清除“Internet 协议(TCP/IP)”复选框,然后单击“确定”。 5. 单击“是”。 6. 对列出的每个网络连接重复步骤 3 到 5。 7. 重新启动计算机。 8. 单击“开始”,然后单击“控制面板”。 9. 双击“网络连接”。 10. 右键单击网络连接,然后单击“属性”。 11. 单击以清除“Internet 协议(TCP/IP)”复选框,然后单击“确定”。 12. 单击“是”。 13. 在每个网络连接中重新安装 TCP/IP。 14. 在每个网络连接中,删除被安装以保持占位符的协议(如 NWLink)。如果已经安装了其他协议,请不要删除它们。 15. 重新启动计算机。 参考
本文讨论了远程过程调用 (RPC) 协议注册表项以及它们如何影响 Microsoft Outlook 到 Microsoft Exchange Server 的连接。本文还讨论了基本的疑难解答过程。注意:在 Microsoft Windows 98 中,此子项位于同一位置,但是默认的 TCP/IP 条目不同。下表介绍了 Windows 98 的默认 TCP/IP 条目:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Exchange\Exchange Provider
默认情况下,Rpc_Binding_Order 包含以下数值数据:ncalrpc,ncacn_ip_tcp,ncacn_spx,ncacn_np,netbios,ncacn_vns_spp163576 XGEN:更改 RPC 绑定顺序
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Rpc\ClientProtocols
默认情况下,ClientProtocols 包含下列有关 TCP/IP 的条目:The name could not be resolved.The Microsoft Exchange address book was unable to logon to the Microsoft Exchange Server computer.
Outlook could not logon.Check to make sure you are connected to the network and are using the proper server and mailbox name.
The name could not be resolved.Network problems are preventing connection to the Microsoft Exchange Server computer.Contact your system administrator if this condition persists.
Your logon information was incorrect.Check your username and domain, then type your password again.If your account is new or if your administrator requested a password change you need to click Change Password then logon with your new password.
Cannot Start Microsoft Outlook.The attempt to log on to the Microsoft Exchange Server computer has failed.
The server containing the global address list is no longer available.You can reconnect to a different server by restarting Outlook or retry the operation when the server is reachable.
http://www.microsoft.com/exchange/techinfo/administration/2000/ClientNT.asp
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Rpc\ClientProtocols
通过参考本文的“ClientProtocols”部分中包含的表格来验证所有条目都存在并且正确。有关如何解决连接问题的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
255843 XCLN:无法从 Windows 2000 或 Windows XP 客户端登录到 Exchange Server
268575 OL2000:(CW) Error Message:The Microsoft Exchange Address Book was Unable to Log on to the Microsoft Exchange Server Computer
321652 OL:You Continuously Receive Prompts for Your NT Domain Credentials
319517 OL2002:Error Message When You Use Outlook 2002 on Microsoft Windows 2000 Terminal Services
326036 XADM:Cannot Log on to Exchange 2000 Server Computer Using the Correct Credentials
319572 XADM:Exchange 2000 Server Cannot Register Outlook New Mail Notifications