如何疑難排解 RPC 用戶端通訊協定登錄項目造成的連線能力問題

文章翻譯 文章翻譯
文章編號: 325930 - 檢視此文章適用的產品。
全部展開 | 全部摺疊

在此頁中

結論

本文將告訴您有關遠端程序呼叫 (RPC) 通訊協定登錄機碼的內容,以及它們會如何影響 Microsoft Outlook 對 Microsoft Exchange Server 的連線。本文也將告訴您一些基本的疑難排解程序。

Outlook 是使用 RPC 來建立對網路的呼叫。RPC 允許 Outlook 傳送呼叫給許多不同的通訊協定堆疊。呼叫取決於電腦上可用的通訊協定堆疊。最常見的通訊協定就是 TCP/IP。其他的 RPC 通訊協定還包括 NetBIOS、NetBIOS over TCP/IP 和 IPX/SPX。如果某台用戶端電腦傳送了適當的 RPC 通訊協定要求,則伺服器也必須具備那些通訊協定。

RPC 通訊協定登錄項目

本節將說明,控制 Outlook 所使用之 RPC 通訊協定的主要登錄項目。

RPC_Binding_Order

當您安裝了 Outlook 用戶端或 Exchange Server 後,即會建立 RPC_Binding_Order 項目。RPC_Binding_Order 項目會決定 Outlook RPC 通訊初始化時所使用的通訊協定順序。

注意 在 Microsoft Exchange Server 2003 或 Microsoft Exchange 2000 Server 中,並不會建立 RPC_Binding_Order 項目。只有在 Microsoft Exchange Server 5.5 或之前版本的 Exchange,才會建立這個項目。

您可以在下列登錄機碼中找到此項目:
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 連結順序

RPC_Srv_Binding_Order

當您安裝了 Outlook 用戶端或 Exchange Server 後,即會建立 RPC_Svr_Binding_Order 登錄項目。千萬別將這個項目與 [RPC_Binding_Order] 登錄項目混淆了。這個項目不是用在 Outlook RPC 連線上的。這個項目決定的是某些伺服器對伺服器通訊所使用的通訊協定順序。您可以使用「RPC 傾印」公用程式來決定可供用戶端使用的通訊協定有哪些。如需有關「RPC 傾印」公用程式的詳細資訊,請參閱本文的<使用 RPC 傾印識別伺服器 RPC 問題>一節。

您可以在下列登錄子機碼找到 [RPC_Svr_Binding_Order] 項目:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Exchange\Exchange Provider
根據預設,[Rpc_Svr_Binding_Order] 項目包含下列數值資料:
ncacn_ip_tcp,ncacn_spx,ncacn_vns_spp
注意 如果有安裝其他的通訊協定,可能還會有其他值。

ClientProtocols

當您安裝作業系統和第一個網路通訊協定後,即會建立
ClientProtocols
登錄子機碼。
ClientProtocols
登錄子機碼包含的項目會決定用戶端作業系統能夠用來連線至 Exchange Server 的通訊協定。Outlook 能夠決定要傳送的 RPC 通訊協定;此登錄子機碼則是決定作業系統是否支援該通訊協定。您可以在 Microsoft Windows 2000 和 Microsoft Windows XP 的下列登錄機碼中找到此子機碼:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Rpc\ClientProtocols
根據預設,
ClientProtocols
子機碼包含下列應用於 TCP/IP 的登錄項目:
摺疊此表格展開此表格
名稱類型資料
ncacn_httpREG_SZrpcrt4.dll
ncacn_ip_tcpREG_SZrpcrt4.dll
ncacn_npREG_SZrpcrt4.dll
ncadg_ip_udpREG_SZrpcrt4.dll
注意 在 Microsoft Windows NT 4.0 中,登錄子機碼的位置還是一樣,但是預設的 TCP/IP 項目則不同。下表將說明 Windows NT 中,預設的 TCP/IP 項目:
摺疊此表格展開此表格
名稱類型資料
ncacn_npREG_SZrpcltcl.dll
ncalrpcREG_SZncalrpc
ncacn_ip_tcpREG_SZRpcLtCcm.Dll
ncadg_ip_udpREG_SZRpcLtCcm.Dll
ncadg_nb_tcpREG_SZrpcltccm.dll
ncacn_httpREG_SZrpcltccm.dll
注意 在 Microsoft Windows 98 中,登錄子機碼的位置還是一樣,但是預設的 TCP/IP 項目則不同。下表將說明 Windows 98 中,預設的 TCP/IP 項目:
摺疊此表格展開此表格
名稱類型資料
ncacn_npREG_SZrpcltcl.dll
ncalrpcREG_SZncalrpc
ncacn_ip_tcpREG_SZrpcltc3.dll
ncacn_httpREG_SZrpcltccm.dll

疑難排解 RPC 登錄項目

如果遺失了一個以上的 RPC 登錄項目,則 Outlook 可能無法連線至 Exchange Server。如果
ClientProtocols
子機碼或資料值遺失了,則 Outlook 用戶端可能會無法使用預期的通訊協定來連線。為了讓 Outlook 能夠使用適當的 RPC 通訊協定,必須有正確的
ClientProtocols
子機碼和資料值存在。

例如,在執行 Outlook 的電腦上,如果唯一存在的 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 服務也因此無法回應用戶端的要求。因此,用戶端無法使用要求的通訊協定連線至 Exchange。例如,如果伺服器沒有 [ncacn_ip_tcp] 的 RPC
ClientProtocols
登錄項目,則當您使用 TCP/IP 來連線時,就無法使用 Microsoft Exchange Information Store。您可以使用「RPC 傾印」來排解這個問題。

Outlook 錯誤訊息

當 RPC 登錄項目遺失或損毀時,Outlook 用戶端可能會出現下列錯誤訊息:
  • 無法解析此名稱。Microsoft Exchange 通訊錄無法登入到 Microsoft Exchange Server 電腦。
  • 無法登入 Outlook。請確定你已連上網路,而且所使用的是正確的伺服器和信箱名稱。
  • 無法解析此名稱,網路問題阻止與 Microsoft Exchange Server 電腦的連線。如果問題仍然存在,請連絡您的系統管理員。
  • 您所提供的登入資訊不正確。請確定您的使用者名稱及網域無誤後,再重新鍵入您的密碼。如果您的帳號是新的,或是管理員要求您變更密碼,您需要按一下 [變更密碼],然後以新的密碼登入。
  • 無法啟動 Microsoft Outlook。嘗試登入 Microsoft Exchange Server 電腦失敗。
  • 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. (包含全域通訊名單的伺服器已經不存在。您可以重新啟動 Outlook 來重新連線至不同的伺服器;或是當伺服器恢復連線時,重試這項操作。)
  • The connection to the Microsoft Exchange Server is unavailable.Outlook must be online or connected to complete this action. (目前沒有與 Microsoft Exchange Server 連線。Outlook 必須在線上或是已連線才能完成這個動作。)
如果 RPC 登錄項目遺失或損毀時,可能會發生下列問題:
  • 使用者收到新的郵件,但是新郵件通知沒有運作。如果「使用者資料包通訊協定」(UDP,User Datagram Protocol) 的 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) 的連線。
  • 如果您擷取到的追蹤顯示用戶端成功地連線至端點對應程式時,用戶端就會成功地傳送 RPC opnum0x3 要求。用戶端收到的回應中,末四對十六進位的資料會顯示下列內容:D6 A0 C9 16。一般而言,如果要求成功時,這個回應會包含零。如果伺服器遺失了
    ClientProtocols
    登錄子機碼中的 [ncacn_ip_tcp] 登錄值時,就可能會發生這個問題。在這種情況下,就會無法在 TCP/IP 上使用 Microsoft Exchange Information Store 服務。
如需有關如何使用 Exchange Server 來分析用戶端網路傳輸的詳細資訊,請造訪下列 Microsoft 網站:
http://www.microsoft.com/taiwan/technet/prodtechnol/exchange/2000/library/cntwex2k.mspx

使用 RPC 傾印識別伺服器 RPC 問題

您可以使用「RPC 傾印」工具來排解伺服器的 RPC 問題。您可以使用「RPC 傾印」工具來列出伺服器上正在執行的 RPC 應用程式。必須有三項 RPC 元件,才能讓 Outlook 用戶端成功地連線:
  • 端點對應程式。
  • 通用唯一識別元 (UUID) 為 a4f1db00-ca47-1067-b31e-00dd010662da 的 Microsoft Exchange Information Store 服務。
  • 通用唯一識別元為 f5cc5a18-4264-101a-8c59-08002b2f8426 的「名稱服務提供者介面」(NSPI,Name Service Provider Interface)。
    • 在 Exchange Server 5.5 及更早的版本中,NSPI 是由 Microsoft Exchange Directory Service 提供。
    • 在 Exchange Server 2003 和 Exchange 2000 Server 中,NSPI 是由通用類別目錄伺服器提供。在通用類別目錄伺服器上,NSPI 會在 Net Logon 服務 (lsass.exe) 之下執行。Exchange 伺服器能夠提供 NSPI 轉介和 Proxy 等功能。
    如需有關 NSPI 和 Outlook 用戶端的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
    256976 XCLN: How MAPI Clients Access Active Directory
您必須從命令提示字元執行「RPC 傾印」工具。常見的命令列命令包括:
  • rpcdump.exe /i > rpcdump.txt
  • rpcdump.exe /p > rpcdump.txt
這兩個命令都會將產生的輸出導向至 Rpcdump.txt 檔案。

「RPC 傾印」工具通常會與「網路監視器」一起使用。例如,如果 Outlook 用戶端無法成功檢查名稱,您可以在提供 NSPI 的伺服器上執行「RPC 傾印」工具。

注意 如果通用類別目錄伺服器遺失了 TCP/IP (ncacn_ip_tcp) 的 f5cc5a18-4264-101a-8c59-08002b2f8426,Outlook 用戶端就無法在 TCP/IP 上連線至 NSPI。

如果 Outlook 用戶端能夠成功檢查名稱,但是無法登入信箱時,您也可以使用「RPC 傾印」工具。執行「RPC 傾印」工具,您就可以判斷儲存庫 (a4f1db00-ca47-1067-b31e-00dd010662da) 有無登錄使用 TCP/IP 的 RPC (ncacn_ip_tcp)、具名管道 (ncacn_np) 或其他通訊協定。通常會發生這個問題,是因為伺服器上遺失了
ClientProtocols
登錄項目。如果 NSPI 和儲存庫都靜態地對應到相同的連接埠時,也可能會發生這個問題。

如需有關 Exchange Server 2003 和 Exchange 2000 Server 的靜態連接埠對應的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
270836 XCLN:Exchange 2000 靜態連接埠對應
注意 「RPC 傾印」工具不會列出端點對應程式。如需有關如何取得「RPC 傾印」工具的詳細資訊,請造訪下列 Microsoft 網站:
http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=7D40460C-A069-412E-A015-A2AB904B7361

還原遺失的 RPC 登錄值

如果要還原用戶端或伺服器上的 RPC 登錄值,請依照下列步驟執行。

警告:不當使用「登錄編輯器」可能會導致嚴重的問題,甚至必須重新安裝作業系統。Microsoft 不保證您可以解決錯誤使用「登錄編輯器」所造成的問題。請自行承擔使用「登錄編輯程式」的一切風險。

步驟 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 光碟、Windows Service Pack 或其他執行相同組建版本 Windows 的電腦上找到所需的檔案。
  2. 在遭遇此問題的電腦上,找出 .dll 檔案。
  3. 將 .dll 檔案的副檔名改為 .bak 或 .old。
  4. 將正確的 .dll 檔案複製到遭遇此問題的電腦。
  5. 重新啟動電腦。
  6. 測試 Exchange Server 的連線。

步驟 3:移除,然後重新安裝 TCP/IP

重要 您只能夠在用戶端電腦上執行此步驟。

在 Outlook 用戶端電腦上,如果步驟 1 和 2 都無法讓您重新建立 Exchange Server 的連線,則請移除 TCP/IP,然後再重新安裝。Microsoft 建議您不要從伺服器移除 TCP/IP 通訊協定。如果要移除並重新安裝用戶端電腦上的 TCP/IP,請依照下列步驟執行:
  1. 按一下 [開始],再按一下 [控制台]
  2. 按兩下 [網路連線]
  3. 用滑鼠右鍵按一下網路連線,然後按一下 [內容]
  4. 按一下以清除 [Internet Protocol (TCP/IP)] 核取方塊,然後按一下 [確定]
  5. 按一下 [是]
  6. 針對每一個列出的連線重複執行步驟 3 到 5。
  7. 重新啟動您的電腦。
  8. 按一下 [開始],再按一下 [控制台]
  9. 按兩下 [網路連線]
  10. 用滑鼠右鍵按一下網路連線,然後按一下 [內容]
  11. 按一下以清除 [Internet Protocol (TCP/IP)] 核取方塊,然後按一下 [確定]
  12. 按一下 [是]
  13. 重新安裝每一個網路連線的 TCP/IP。
  14. 在每一個網路連線中,移除所有為了預留位置而安裝的通訊協定 (例如 NWLink)。千萬不要移除其他已實際安裝的通訊協定。
  15. 重新啟動您的電腦。

?考

如需有關如何排解連線問題的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
255843 XCLN:無法從 Windows 2000 或 Windows XP 用戶端登入 Exchange Server
268575 OL2000:(CW) 錯誤訊息:Microsoft Exchange 通訊錄無法登入 Microsoft Exchange 伺服器
321652 OL:您持續地收到 NT 網域驗證提示
319517 You receive an error message when you use Outlook 2002 on Windows 2000 Terminal Services
326036 XADM: Cannot Log On to Exchange 2000 Server Computer by Using the Correct Credentials
319572 XADM: Exchange 2000 Server Cannot Register Outlook New Mail Notifications

屬性

文章編號: 325930 - 上次校閱: 2006年10月24日 - 版次: 4.4
這篇文章中的資訊適用於:
  • Microsoft Exchange 2000 Server Standard Edition
  • Microsoft Exchange Server 2003 Enterprise Edition
  • Microsoft Exchange Server 2003 Standard Edition
  • Microsoft Office Outlook 2003
  • Microsoft Outlook 2000 Standard Edition
  • Microsoft Outlook 2002 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