本任务的内容
| • | 摘要
| ||||||||||||||||||||
| • | 参考 |
概要
本文讨论了远程过程调用 (RPC) 协议注册表项以及它们如何影响 Microsoft Outlook 到 Microsoft Exchange Server 的连接。本文还讨论了基本的疑难解答过程。
Outlook 使用 RPC 向网络发出调用。RPC 允许 Outlook 将调用发送到许多不同的协议堆栈。这些调用将依赖于计算机上提供的协议堆栈。最常用的协议是 TCP/IP,但是 RPC 还可以与 NetBIOS、TCP/IP 上的 NetBIOS 和 IPX/SPX 配合使用。
有关如何修改或还原绑定顺序的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
注意:在 Microsoft Windows NT 4.0 中,此子项的位置是相同的,但是默认的 TCP/IP 条目不同。下表介绍了 Windows NT 的默认 TCP/IP 条目:注意:在 Microsoft Windows 98 中,此子项位于同一位置,但是默认的 TCP/IP 条目不同。下表介绍了 Windows 98 的默认 TCP/IP 条目:
例如,如果存在的唯一 RPC ClientProtocols 条目是 ncacn_np(其值为 rpcrt4.dll),则 Outlook 将在默认端口 139 上使用 TCP/IP 上的命名管道,尝试连接到运行 Exchange Server 的计算机。如果此连接必须穿过防火墙,则端口 139 必须是打开的。必须还原丢失的注册表条目 ncacn_ip_tcp(其值为 rpcrt4.dll),以支持使用端口 135 或端口 445 的、到 Exchange Server 的 TCP/IP 连接。
如果 RPC 注册表条目丢失或损坏,可能会出现下列问题:
有关如何使用 Exchange Server 分析客户端网络通信的更多信息,请访问下面的 Microsoft Web 站点:
要还原丢失的 RPC 注册表值,请按照这一部分所述的步骤操作,直到解决此问题为止。
注意:本文中先前介绍的注册表项列出了每个 RPC 使用的 DLL 文件的名称。例如,Rpc4rt4.dll 是由 Windows 2000 和 Windows XP 上的 TCP/IP 使用的 DLL 文件。
要确定计算机上的 Windows 操作系统的版本和内部版本号,请按照下列步骤操作。
要确定 DLL 文件的版本,请按照下列步骤操作:
如果 DLL 文件的版本与计算机上 Windows 操作系统的版本和内部版本号不匹配,请使用正确的版本来替换此 DLL 文件。为此,请按照下列步骤操作:
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
字串值名称 数值数据
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. |
| • | 用户收到新邮件,但是新邮件通知不工作。如果用户数据报协议 (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 站点:
还原丢失的 RPC 注册表值
警告:注册表编辑器使用不当可导致严重问题,可能需要重新安装操作系统。Microsoft 不能保证可以解决因注册表使用不当所导致的问题。使用注册表编辑器需要您自担风险。要还原丢失的 RPC 注册表值,请按照这一部分所述的步骤操作,直到解决此问题为止。
第 1 步:验证注册表条目
| 1. | 单击“开始”,然后单击“运行”。 | ||||||||
| 2. | 在“打开”框中,键入 regedit,然后单击“确定”。 | ||||||||
| 3. | 在注册表中找到下面的项:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Rpc\ClientProtocols 通过参考本文的“ClientProtocols”部分中包含的表格来验证所有条目都存在并且正确。 | ||||||||
| 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. | 记下版本和内部版本号。 |
| 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. | 重新启动计算机。 |
参考
有关如何解决连接问题的其他信息,请单击下面的文章编号,以查看 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