XCCC:如何解决由 RPC 客户端协议注册表条目导致的连接问题

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

本文内容

概要

本文讨论了远程过程调用 (RPC) 协议注册表项以及它们如何影响 Microsoft Outlook 到 Microsoft Exchange Server 的连接。本文还讨论了基本的疑难解答过程。

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 时创建的,它确定了用于进行通讯的协议序列。您可以在以下注册表项中找到此条目:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Exchange\Exchange Provider
默认情况下,
Rpc_Binding_Order
包含以下数值数据:ncalrpc,ncacn_ip_tcp,ncacn_spx,ncacn_np,netbios,ncacn_vns_spp

有关如何修改或还原绑定顺序的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
163576 XGEN:更改 RPC 绑定顺序

ClientProtocols

Client Protocols
子项是在您安装操作系统和第一个网络协议时创建的,它包含的注册表条目用于确定客户端用来连接到 Exchange Server 的协议。您可以在 Microsoft Windows 2000 和 Microsoft Windows XP 上的以下注册表项中找到此子项:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Rpc\ClientProtocols
默认情况下,
ClientProtocols
包含下列有关 TCP/IP 的条目:
字串值名称	数值数据 ---------------------------------- 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
注意:在 Microsoft Windows 98 中,此子项位于同一位置,但是默认的 TCP/IP 条目不同。下表介绍了 Windows 98 的默认 TCP/IP 条目:
字串值名称	数值数据 ---------------------------------- 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 客户端中可能会显示下列错误信息:
  • 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.
如果 RPC 注册表条目丢失或损坏,可能会出现下列问题:
  • 用户收到新邮件,但是新邮件通知不工作。如果用户数据报协议 (UDP) 的 RPC 注册表值丢失,也可能会出现此问题。
  • 用户无法连接到运行 Exchange Server 的计算机。
  • 用户无法在“全球通讯簿”中验证别名。
  • 系统多次提示用户输入登录凭据,然后用户收到本文先前列出的错误信息。
  • 传真打印机无法访问。

使用网络监视器来识别 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 站点:
http://www.microsoft.com/exchange/techinfo/administration/2000/ClientNT.asp

还原丢失的 RPC 注册表值

警告:注册表编辑器使用不当可导致严重问题,可能需要重新安装操作系统。Microsoft 不能保证可以解决因注册表使用不当所导致的问题。使用注册表编辑器需要您自担风险。
要还原丢失的 RPC 注册表值,请按照这一部分所述的步骤操作,直到解决此问题为止。

第 1 步:验证注册表条目

  1. 单击“开始”,然后单击“运行”。
  2. 在“打开”框中,键入 regedit,然后单击“确定”。
  3. 在注册表中找到下面的项:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Rpc\ClientProtocols
    通过参考本文的“ClientProtocols”部分中包含的表格来验证所有条目都存在并且正确。
  4. 如果任何值丢失,请添加丢失的值。为此,请按照下列步骤操作:
    1. 在“编辑”菜单上,指向“新建”,然后单击“字串值”。
    2. 键入丢失的字串值的名称,然后按 Enter 键。
    3. 按 Enter 键。
    4. 在“编辑字符串”对话框中,在“数值数据”框中键入丢失的数值数据,然后单击“确定”。
  5. 退出注册表编辑器。
  6. 重新启动计算机。
  7. 测试 Exchange Server 连接。

第 2 步:验证 DLL 文件的版本

如果所有注册表值都存在,请验证计算机上的 RPC 动态链接库 (DLL) 文件的版本。RPC DLL 文件的版本必须与计算机上的 Windows 操作系统的版本和内部版本号匹配。

注意:本文中先前介绍的注册表项列出了每个 RPC 使用的 DLL 文件的名称。例如,Rpc4rt4.dll 是由 Windows 2000 和 Windows XP 上的 TCP/IP 使用的 DLL 文件。

要确定计算机上的 Windows 操作系统的版本和内部版本号,请按照下列步骤操作。
  1. 单击“开始”,然后单击“运行”。
  2. 在“打开”框中,键入 winver
  3. 记下版本和内部版本号。
要确定 DLL 文件的版本,请按照下列步骤操作:
  1. 在 Windows 资源管理器中,在 Windows\System32 文件夹中找到 RPC DLL 文件。
  2. 右键单击此文件,然后单击“属性”。
  3. 单击“版本”。
  4. 记下文件版本。

    此文件版本必须反映计算机上 Windows 操作系统的内部版本号。例如,在 Windows XP 5.1 版内部版本 2600 中,Rpcrt4.dll 文件版本是 5.1.2600.0。
如果 DLL 文件的版本与计算机上 Windows 操作系统的版本和内部版本号不匹配,请使用正确的版本来替换此 DLL 文件。为此,请按照下列步骤操作:
  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. 重新启动计算机。

参考

有关如何解决连接问题的其他信息,请单击下面的文章编号,以查看 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

属性

文章编号: 325930 - 最后修改: 2007年11月26日 - 修订: 2.2
这篇文章中的信息适用于:
  • Microsoft Exchange 2000 Server 标准版
  • Microsoft Exchange Server 2003 Enterprise Edition
  • Microsoft Exchange Server 2003 Standard Edition
关键字:?
kbinfo KB325930
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