文章編號: 892199 - 上次校閱: 2011年9月27日 - 版次: 2.0

在《Windows XP 安全性指南》中,某些系統管理範本可能會造成您無法在 Windows XP Service Pack 2 中啟動 Windows 防火牆服務

系統提示本文適用於您使用的作業系統之外的作業系統。與您不相關的文章內容已停用。
注意事項
本文件主要是提供給進階電腦使用者。如果您不熟悉進階疑難排解,可以尋求他人的協助或連絡技術支援部門。如需有關如何執行這項操作的資訊,請造訪下列 Microsoft 網站:
http://support.microsoft.com/contactus (http://support.microsoft.com/contactus/)

在此頁中

全部展開 | 全部摺疊

徵狀

安裝 Windows XP Service Pack 2 (SP2) 後,您無法啟動 Windows 防火牆服務。您可能會遇到下列一或多個徵狀:
  • 當您按一下 [控制台] 中的 [Windows 防火牆] 時,可能會收到下列錯誤訊息:
    因為相關服務未執行,無法顯示 Windows 防火牆設定。要啟動 Windows 防火牆/網際網路連線共用 (ICS) 服務?
    如果按一下 [是],即會收到下列錯誤訊息:
    Windows 無法啟動 Windows 防火牆/網際網路連線共用 (ICS) 服務。
  • 如果您嘗試使用服務手動啟動 Windows 防火牆服務,可能會收到下列錯誤訊息:
    無法在本機電腦上啟動 Windows 防火牆/網際網路連線共用 (ICS) 服務。
    錯誤 0x80004015:此類別已設定成使用不同於呼叫者的安全性識別碼執行
    注意 如果要開啟 [服務],請依序按一下 [開始][控制台],再按兩下 [系統管理工具],然後按兩下 [服務]。如需有關如何使用服務的資訊,請在 [服務][執行] 功能表上,按一下 [說明]
  • 系統事件日誌中可能會顯示下列事件:

    事件識別碼:7036
    事件來源:服務控制管理員
    事件類型:資訊
    事件類別目錄:無
    描述:
    Windows 防火牆/網際網路連線共用 (ICS) 服務已呈現停止狀態。

    事件識別碼:7023
    來源:服務控制管理員
    類型:錯誤
    說明:
    Windows 防火牆/網際網路連線共用 (ICS) 服務因下列錯誤而終止:
    此類別已設定成使用不同於呼叫者的安全性識別碼執行

  • 當您使用 SC 查詢命令判斷 Windows 防火牆/網際網路連線共用服務的狀態時,會顯示下列輸出:
    C:\>sc query sharedaccess SERVICE_NAME:sharedaccess TYPE :20 WIN32_SHARE_PROCESS STATE :1 STOPPED (NOT_STOPPABLE,NOT_PAUSABLE,IGNORES_SHUTDOWN) WIN32_EXIT_CODE :-2147467243 (0x80004015) SERVICE_EXIT_CODE :0 (0x0) CHECKPOINT :0x0 WAIT_HINT :0x0
  • 如果您嘗試在命令提示字元中,使用 net start sharedaccess 命令啟動 Windows 防火牆/網際網路連線共用 (ICS)」服務,會顯示下列輸出:
    C:\>net start sharedaccess The Windows Firewall/Internet Connection Sharing (ICS) service is starting.The Windows Firewall/Internet Connection Sharing (ICS) service could not be started.A system error has occurred.System error 16405 has occurred.The system cannot find message text for message number 0x4015 in the message file for BASE.
注意 Windows XP SP2 中的 Windows 防火牆功能,取代了舊版 Windows XP 中的網際網路連線防火牆 (ICF)。

發生的原因

安裝 Windows XP SP2 前,如果先將《Windows XP 安全性指南》 所提供的某些系統管理範本套用至電腦,即可能會發生此問題。這個問題起因於《Windows XP 安全性指南》隨附之部分安全性範本本身的問題。

在 Windows XP SP2 中,遠端程序呼叫 (RPC) 需要透過 NT Authority\NetworkService 帳戶執行。在 Windows XP SP2 中,服務的預設安全性描述元可以提供已驗證的使用者群組讀取權限。此包括 NT Authority\NetworkService 帳戶。

解決方案

如果要我們為您修正此問題,請前往<為我修正此問題>一節。如果您要自行修正這個問題,請前往<讓我自行修正此問題>一節。

為我修正此問題



如果要自動修正此問題,請按一下 [Fix it] 按鈕或連結。按一下 [檔案下載] 對話方塊中的 [執行],然後依照 Fix it 精靈中的步驟執行。


修正此問題
Microsoft Fix it 50638


注意事項
  • 此精靈可能只提供英文版本。不過,自動修正程式也適用於 Windows 的其他語言版本。
  • 如果您不在發生問題的電腦上,則可將 Fix it 解決方案儲存至快閃磁碟機或 CD,然後在發生問題的電腦上加以執行。



讓我自行修正此問題

進階使用者

這些方法主要是提供給進階電腦使用者。如果您不熟悉進階解決方法,可以尋求他人的協助或連絡技術支援。如需有關如何連絡技術支援的詳細資訊,請造訪下列 Microsoft 網站:
http://support.microsoft.com/contactus (http://support.microsoft.com/contactus)


如果要解決這個問題,請使用下列其中一種方法:

方法 1:還原 SharedAccess 服務的預設安全性描述元

控制 Windows 防火牆/網際網路連線共用 (ICS) 服務的服務稱為 SharedAccess。預設的安全性描述元 (SD) 可以提供 LocalSystem (SY)、PowerUsers (PU) 與 AuthenticatedUsers (AU) 的讀取權限,並提供 Administrators (BA) 的完全控制權限。

如果要檢視 SharedAccess 的 SD,請在命令提示字元輸入 SC sdshow SharedAccess,然後按下 ENTER。預設的 SD 會出現,並顯示類似下列文字的訊息:
D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;AU)(A;;CCLCSWRPWPDTLOCRRC;;;PU)
注意 如需有關如何解譯這些字串的詳細資訊,請造訪下列 MSDN 網站,並搜尋 SDDL 或 "ACE strings":
http://msdn.microsoft.com/zh-tw/library/aa374928(VS.85).aspx (http://msdn.microsoft.com/zh-tw/library/aa374928(VS.85).aspx)
注意 如果要開啟命令提示字元,請按一下 [開始],按一下 [執行],在 [開啟] 方塊中輸入 CMD,然後按一下 [確定]
如有顯示此範例中所說明的其他輸出,可以使用 SC 命令與 sdset 選項重設 SD。如果要還原 SharedAccess 服務的預設 SD,請在命令提示字元輸入下列命令,然後按下 ENTER:
SC sdset SharedAccess D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;AU)(A;;CCLCSWRPWPDTLOCRRC;;;PU)
如需有關 SC sdset 命令的詳細資訊,請參閱 Windows 說明。

方法 2:還原 SharedAccess 服務的預設 SD

重要 這個章節、方法或工作包含修改登錄的步驟。然而,如果您不當地修改登錄,可能會發生嚴重的問題。因此,請務必謹慎地依照這些步驟執行。為加強保護,修改登錄之前,請務必將其備份。那麼您便可以在發生問題時還原登錄。如需有關如何備份和還原登錄的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
322756? (http://support.microsoft.com/kb/322756/zh-tw/ ) 如何在 Windows XP 中備份及還原登錄


如果要還原 SharedAccess 服務的預設 SD,請依照下列步驟執行:
  1. 按一下 [開始],按一下 [執行],並在 [開啟] 方塊中輸入 regedit,然後按一下 [確定]
  2. 找出下列登錄子機碼並按一下:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Security
  3. 刪除 Security 登錄子機碼 (如果存在)。
  4. 結束登錄編輯程式,然後重新啟動電腦。
注意 Security 登錄子機碼如果存在,請務必將其刪除。這可以確保電腦重新啟動時,便使用預設的安全性描述元啟動 Windows 防火牆。

如果您執行 Microsoft 元件物件模型 (COM)、DCOM 或 Microsoft COM+ 等應用程式控制 Windows 防火牆服務,您也必須執行下列步驟:
  1. 按一下 [開始],按一下 [執行],在 [開啟] 方塊中輸入 regedit,然後按一下 [確定]
  2. 找出下列登錄子機碼並按一下:
    HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppID\{ce166e40-1e72-45b9-94c9-3b2050e8f180}
  3. [檔案] 功能表上,按一下 [匯出]
  4. [檔案名稱] 方塊中,輸入 C:\reg_AppID_CLSID.reg,然後按一下 [儲存],以儲存登錄檔案。
  5. 刪除 {ce166e40-1e72-45b9-94c9-3b2050e8f180} 登錄子機碼。
  6. 按一下 [確定],然後結束登錄編輯程式。
  7. 啟動 Windows 防火牆/網際網路連線共用 (ICS) 服務。如果要執行這項操作,請在命令提示字元輸入 NET START SharedAccess,然後按下 ENTER:
注意 您可以在命令提示字元中執行這些步驟。如果要執行這項操作,請依照下列步驟執行:
  1. 輸入下列命令,並在各命令之後按下 ENTER:
    REG DELETE HKLM\SYSTEM\CurrentControlSet\Services\SharedAccess\Security /f
    REG DELETE HKLM\SOFTWARE\Classes\AppID\{ce166e40-1e72-45b9-94c9-3b2050e8f180} /f
    刪除 {ce166e40-1e72-45b9-94c9-3b2050e8f180} 登錄子機碼是一項重要步驟。其可以確保重新匯入時是套用預設的安全性描述元。
  2. 重新啟動電腦。

狀況說明

Microsoft 已確認本篇文章<適用於>一節所列之 Microsoft 產品確實有上述問題。

其他相關資訊

如需有關 Windows XP SP2 之 Windows 防火牆的詳細資訊,請造訪下列 Microsoft 網站:
http://technet.microsoft.com/zh-tw/library/bb457029.aspx (http://technet.microsoft.com/zh-tw/library/bb457029.aspx)
如需有關《Windows XP 安全性指南》的詳細資訊,請造訪下列 Microsoft 網站:
http://technet.microsoft.com/zh-tw/library/cc163076.aspx (http://technet.microsoft.com/zh-tw/library/cc163076.aspx)

SC.exe (服務控制器) 公用程式

SC.exe 公用程式會與服務控制器及已安裝的服務通訊。SC.exe 會擷取及設定服務的相關控制資訊。您可以使用 SC.exe 測試及偵錯服務程式。登錄中所儲存的服務內容可以設定來控制電腦開機時服務應用程式的啟動方式,以及這些應用程式執行為背景處理程序的方式。SC.exe 參數可以設定特定的服務、擷取服務目前的狀態,以及停止與啟動服務。您可以建立批次檔呼叫各種 SC.exe 命令,藉以自動啟動或自動關閉服務順序。SC.exe 提供的功能類似於 [控制台] 中,[系統管理工具] 項目的 [服務]

如需有關 SC.exe 公用程式的詳細資訊,請造訪下列 Microsoft 網站:
http://technet.microsoft.com/zh-tw/library/cc772676(WS.10).aspx (http://technet.microsoft.com/zh-tw/library/cc772676(WS.10).aspx)

安全性範本

如需有關安全性範本的詳細資訊,請參閱下列 Microsoft 網站上的<終端系統的資料安全性與可用性>:
http://technet.microsoft.com/zh-tw/library/cc722919.aspx (http://technet.microsoft.com/zh-tw/library/cc722919.aspx)
如需有關《Windows XP 安全性指南第 2 版》的詳細資訊,請造訪下列 Microsoft 網站:
http://www.microsoft.com/downloads/details.aspx?FamilyId=2D3E25BC-F434-4CC6-A5A7-09A8A229F118&displaylang=en (http://www.microsoft.com/downloads/details.aspx?FamilyId=2D3E25BC-F434-4CC6-A5A7-09A8A229F118&displaylang=en)
您可以使用安全性範本嵌入式管理單元建立及定義安全性範本。如果要執行這項操作,請依照下列步驟執行:
  1. 按一下 [開始],按一下 [執行],輸入 mmc,按一下 [確定]
  2. 在 [主控台 1] 視窗中的 [檔案] 功能表上,按一下 [新增/移除嵌入式管理單元]
  3. [新增/移除嵌入式管理單元] 對話方塊中,按一下 [新增]
  4. [新增獨立嵌入式管理單元] 對話方塊中,按一下 [安全性範本],按一下 [新增],然後按一下 [關閉]
  5. [新增/移除嵌入式管理單元] 對話方塊中,按一下 [確定]
  6. 在 [主控台 1] 視窗中,展開 [安全性範本] 節點。然後展開 [\system_root\Security\Templates] 節點,查看可用範本的清單。
  7. 展開 [\system_root\Security\Templates\securews\] 節點,按一下 [系統服務],然後按兩下 [Windows Firewall/Internet Connection Sharing (ICS)],以定義範本中此原則的設定。

以程式設定方式指派權限

如需有關如何以程式設定方式指派 LaunchPermission 登錄項目或 AccessPermission 登錄項目之權限的詳細資訊,請造訪下列 MSDN 網站,取得範例 DCOMperm:COM 伺服器代碼的權限:
http://msdn.microsoft.com/zh-tw/library/aa242178(VS.60).aspx (http://msdn.microsoft.com/zh-tw/library/aa242178(VS.60).aspx)
AccessPermission 登錄項目會設定判別存取控制清單 (DACL),以決定存取權。LaunchPermission 登錄項目會設定 DACL,以決定有權啟動應用程式的人員。

LaunchPermission 登錄項目是 REG_BINARY。當收到本機或遠端對啟動此類別伺服器的要求之後,除會模擬用戶端,還會檢查此值所描述的 DACL。檢查如果成功,即可啟用或停用伺服器的啟動。此值如果不存在,便會依預設以相同的方式全面檢查機器的 DefaultLaunchPermission 項目,以確定是否可以啟動類別代碼。

AccessPermission 登錄值是 REG_BINARY。其所含資料會描述可以存取此類別之執行個體的原則 DACL。當收到連線至此類別現有物件的要求之後,除會模擬呼叫者,所呼叫的應用程式還會檢查 DACL。存取權檢查如果失敗,便不會啟用連線。此命名值如果不存在,便會依預設以相同的方式全面測試機器的 DefaultAccessPermission DACL,以決定是否啟用連線。

使用 DCOMcnfg GUI 檢視服務權限設定

若要使用 DCOMcnfg 圖形使用者介面 (GUI) 檢視服務權限設定,請依照下列步驟執行:
  1. 按一下 [開始],按一下 [執行],在 [開啟] 方塊中輸入 DCOMCNFG,然後按一下 [確定]
  2. 展開下列節點:
    元件服務
    電腦
    我的電腦
    DCOM Config
  3. 用滑鼠右鍵按一下 [SharedAccess],然後按一下 [內容]
  4. 按一下 [一般] 索引標籤,並檢查是否已設定下列設定:
    應用程式名稱:SharedAccess
    應用程式識別碼:{ce166e40-1e72-45b9-94c9-3b2050e8f180}
    應用程式類型:本機服務
    授權層級:預設值
    服務名稱:SharedAccess
  5. 按一下 [身分識別] 索引標籤,確定是否已選取 [系統帳戶 (僅服務)]
  6. 按一下 [安全性] 索引標籤。
  7. [啟動和啟用權限] 區域中,按一下 [自訂],然後按一下 [編輯]
  8. [群組或使用者名稱] 方塊中,按一下 [系統管理員 (MACHINE_NAME\Administrators)]。檢查是否已選取 [允許] 欄中的 [本機啟動] 核取方塊,然後按一下 [確定]
  9. [存取權限] 區域中,按一下 [自訂],然後按一下 [編輯]。檢查是否已設定下列設定:
    • [群組或使用者名稱] 方塊中,按一下 [系統管理員 (MACHINE_NAME \Administrators)]。檢查是否已選取 [允許] 欄中的 [本機存取] 核取方塊。按一下 [確定]
  10. [設定權限] 區域中,按一下 [自訂],然後按一下 [編輯]。檢查是否已設定下列設定:
    • [群組或使用者名稱] 方塊中,按一下 [系統管理員 (MACHINE_NAME\Administrators)]。接著檢查是否已選取 [允許] 欄中的 [完全控制] 核取方塊與 [讀取] 核取方塊。
    • [群組或使用者名稱] 方塊中,按一下 [Power Users]。檢查是否已選取 [允許] 欄中的 [讀取] 核取方塊。
    • [群組或使用者名稱] 方塊中,按一下 [系統]。接著檢查是否已選取 [允許] 欄中的 [完全控制] 核取方塊與 [讀取] 核取方塊。
    • [群組或使用者名稱] 方塊中,按一下 [使用者]。檢查是否已選取 [允許] 欄中的 [讀取] 核取方塊。按兩次 [確定]

範例登錄輸出

如果要匯出登錄項目的內容,請在命令提示字元中輸入下列命令,然後按下 ENTER:
REG EXPORT HKLM\SOFTWARE\Classes\AppID\{ce166e40-1e72-45b9-94c9-3b2050e8f180} C:\reg_AppID_CLSID.txt
輸出檔案 C:\reg_AppID_CLSID.txt 將包含類似下列的文字:
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppID\{ce166e40-1e72-45b9-94c9-3b2050e8f180}] @="SharedAccess" "LocalService"="SharedAccess" "AccessPermission"=hex:01,00,14,80,34,00,00,00,50,00,00,00,00,00,00,00,14,00,\ 00,00,02,00,20,00,01,00,00,00,00,00,18,00,03,00,00,00,01,02,00,00,00,00,00,\ 05,20,00,00,00,20,02,00,00,01,05,00,00,00,00,00,05,15,00,00,00,59,51,b8,17,\ 66,72,5d,25,64,63,3b,0b,7f,a9,28,00,01,05,00,00,00,00,00,05,15,00,00,00,59,\ 51,b8,17,66,72,5d,25,64,63,3b,0b,7f,a9,28,00 "LaunchPermission"=hex:01,00,04,80,34,00,00,00,50,00,00,00,00,00,00,00,14,00,\ 00,00,02,00,20,00,01,00,00,00,00,00,18,00,09,00,00,00,01,02,00,00,00,00,00,\ 05,20,00,00,00,20,02,00,00,01,05,00,00,00,00,00,05,15,00,00,00,a0,5f,84,1f,\ 5e,2e,6b,49,ce,12,03,03,f4,01,00,00,01,05,00,00,00,00,00,05,15,00,00,00,a0,\ 5f,84,1f,5e,2e,6b,49,ce,12,03,03,f4,01,00,00
A similar output file for the
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess
登錄子機碼輸出檔案將包含類似下列的文字:
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\system\currentcontrolset\services\SharedAccess] "DependOnGroup"=hex(7):00,00 "DependOnService"=hex(7):4e,00,65,00,74,00,6d,00,61,00,6e,00,00,00,57,00,69,00,\ 6e,00,4d,00,67,00,6d,00,74,00,00,00,00,00 "Description"="Provides network address translation, addressing, name resolution and/or intrusion prevention services for a home or small office network.""DisplayName"="Windows Firewall/Internet Connection Sharing (ICS)" "ErrorControl"=dword:00000001 "ImagePath"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,\ 74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,73,\ 00,76,00,63,00,68,00,6f,00,73,00,74,00,2e,00,65,00,78,00,65,00,20,00,2d,00,\ 6b,00,20,00,6e,00,65,00,74,00,73,00,76,00,63,00,73,00,00,00 "ObjectName"="LocalSystem" "Start"=dword:00000002 "Type"=dword:00000020

[HKEY_LOCAL_MACHINE\system\currentcontrolset\services\SharedAccess\Epoch] "Epoch"=dword:0000073e

[HKEY_LOCAL_MACHINE\system\currentcontrolset\services\SharedAccess\Parameters] "ServiceDll"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,\ 00,74,00,25,00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,\ 69,00,70,00,6e,00,61,00,74,00,68,00,6c,00,70,00,2e,00,64,00,6c,00,6c,00,00,\ 00

[HKEY_LOCAL_MACHINE\system\currentcontrolset\services\SharedAccess\Enum] "0"="Root\\LEGACY_SHAREDACCESS\\0000" "Count"=dword:00000001 "NextInstance"=dword:00000001

?考

828758? (http://support.microsoft.com/kb/828758/zh-tw/ ) Windows XP COM + 1.5 彙總套件 6 的可用性
875357? (http://support.microsoft.com/kb/875357/zh-tw/ ) 疑難排解 Windows XP Service Pack 2 中的 Windows 防火牆設定值
892504? (http://support.microsoft.com/kb/892504/zh-tw/ ) 如果停用 DCOM Process Launcher 服務,便無法啟動 Windows XP Service Pack 2、Windows XP Professional x64 Edition、Windows Server 2003 SP1 和 x64 版 Windows Server 2003 中的 Windows 防火牆服務
920074 ? (http://support.microsoft.com/kb/920074/zh-tw/ ) 您無法啟動 Windows XP SP2 中的 Windows 防火牆服務
如果上面所列的文件均無法協助您解決問題,或如果您遇到的徵狀與本文說明的徵狀不同,請搜尋「Microsoft 知識庫」以取得更多詳細資訊。如果要搜尋「Microsoft 知識庫」,請瀏覽下列 Microsoft 網站:
http://support.microsoft.com (http://support.microsoft.com)
然後,輸入您所收到錯誤訊息的文字,或在 [搜尋支援 (知識庫)] 欄位中輸入問題的說明。

Microsoft Windows XP Professional 產品說明文件 MSDN Microsoft 網站上的 Windows XP Professional SP2

這篇文章中的資訊適用於:
  • Microsoft Windows XP Home Edition (家用版)
  • Microsoft Windows XP Professional
關鍵字:?
kbresolve kbtshoot kberrmsg kbfixme kbmsifixme KB892199
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。