如果你運行IIS時也遇到“RPC服務器不可用”的故障提示,不妨試試我們下面的辦法。
依次點擊“管理工具→服務→Remote Procedure Call→屬性”,其默認啟動類別是“自動”,但選項是灰色的(不可用狀態),點擊標簽“登錄”,將硬件配置文件服務禁用,重新啟動系統。
方法一:修改注冊表
運行注冊表編輯器,打開HKEY_LOCAL_MACHINEsystemCurrentControl-SetServicesRpcSs分支,將Start項的值由“4”修改為“2”,即把啟動類型設為自動,重新啟動系統即可。
方法二:使用“SC”命令
進入“命令提示符”窗口,鍵入“sc config RpcSs start=auto”命令,系統會顯示“SC ChangeServiceConfig SUCCESS”,這樣就可以成功啟用RPC服務。
方法三:使用故障恢復控制台
以Windows 2003系統為例,用安裝光盤啟動,系統進入到Windows 2003安裝界面,按下“R”鍵登錄到故障恢復控制台。在故障恢復控制台下,鍵入“enable RpcSs service_auto_start”命令,然後再鍵入“exit”命令,重新啟動系統,以正常模式登錄,即可成功啟用RPC服務。
筆者使用上面的幾種方法都不成功,看來只有自己動手解決了。我想注冊表中的某些鍵值一定要變,這樣才能啟用。
把禁用前的備份注冊表恢復到被禁用後的注冊表中,提示無法導入,不成功。無法啟用。
把禁用前和禁用後的兩個注冊表(只取HKEY_LOCAL_MACHINESYSTEM分支)內容轉化成Word文檔,再使用Word中的“比較並合並文檔”功能,就能自動找到兩個注冊表的不同之處。我通過比較分析,發現禁用後的注冊表中有以下分支:
1.HKEY_LOCAL_MACHINE\SYSTEM\CurrntControlSet\Hardware Profiles\0001\System\CurrentControlSet\Enum\ROOT\LEGACY_RPCSS
2.HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Hardware Profiles\Current\System\CurrentControlSet\Enum\ROOT\LEGACY_RPCSS
禁用前的注冊表中沒有以上兩個分支。通過進一步操作,發現只要刪除第1個分支即可重新起用RPC服務。
原來上面三種方法,只能應用於把RPC服務啟動類型改為禁止後的情況。筆者關閉RPC服務不是改變啟動類型,而是禁止與之相關聯的硬件配置文件服務,“Start”項的值仍是“2”,沒有變。所以先要將硬件配置文件服務啟用,才能啟用RPC服務。