于是找資料,嘗試了MS提供的兩種方式:
方法 1: 調用 " 安裝 API InstallHinfSection " 函數以安裝 Windows 防火墻
要安裝 Windows 防火墻, 請按照下列步驟:
1. | 單擊 開始 , 單擊 運行 , 類型 cmd然后單擊 確定 。 |
2. | 在命令提示符下, 鍵入以下命令行, 然后按 ENTER 鍵: Rundll32 setupapi,InstallHinfSection Ndi-Steelhead 132 %windir%\inf\netrass.inf |
3. | 重新啟動 Windows, |
4. | 單擊 開始 , 單擊 運行 , 類型 cmd然后單擊 確定 。 |
5. | 在命令提示符, 鍵入以下命令, 然后按 ENTER 鍵: Netsh firewall reset |
6. | 單擊 開始 , 單擊 運行 , 類型 firewall.cpl然后按 ENTER 鍵 。 在 Windows 防火墻 對話框, 單擊 On (推薦) , 并單擊 確定 。??????????? 失敗! |
方法 2: Windows 防火墻項添加到注冊表
警告 如果正確修改注冊表通過注冊表編輯器或通過其他方法可能發生 Serious 問題。 這些問題可能需要重新安裝操作系統。 Microsoft 不能保證能夠解決這些問題而。 修改注冊表需要您自擔風險。
要將 Windows 防火墻項添加到注冊表, 請按照下列步驟操作:
1. | 將以下文本復制到記事本, 然后再保存文件作為 Sharedaccess.reg: Windows Registry Editor Version 5.00 [-HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess] [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:00002cd0 [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\Parameters\FirewallPolicy] [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\DomainProfile] [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\DomainProfile\AuthorizedApplications] [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\DomainProfile\AuthorizedApplications\List] "%windir%\\system32\\sessmgr.exe"="%windir%\\system32\\sessmgr.exe:*:enabled:@xpsp2res.dll,-22019" [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile] [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\AuthorizedApplications] [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\AuthorizedApplications\List] "%windir%\\system32\\sessmgr.exe"="%windir%\\system32\\sessmgr.exe:*:enabled:@xpsp2res.dll,-22019" [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Setup] "ServiceUpgrade"=dword:00000001 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Setup\InterfacesUnfirewalledAtUpdate] "All"=dword:00000001 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Enum] "0"="Root\\LEGACY_SHAREDACCESS\\0000""Count"=dword:00000001 "NextInstance"=dword:00000001 |
2. | 雙擊 Sharedaccess.reg 將此文件的內容合并到注冊表并可創建防火墻項。 |
3. | 重新啟動 Windows。 |
4. | 單擊 開始 , 單擊 運行 , 類型 cmd然后單擊 確定 。 |
5. | 在命令提示符, 鍵入以下命令, 然后按 ENTER 鍵: Netsh firewall reset |
6. | 單擊 開始 , 單擊 運行 , 類型 firewall.cpl然后單擊 確定 。 |
7. | 配置與要使用 Windows 防火墻設置。??????? 失敗! |
最后考慮到是不是WINSOCK壞了,于是采用了修復方式:運行-netsh winsock reset
重啟,發現防火墻回來了,網絡ID和計算機名又可以修改了,赫赫。希望對同樣遭遇的有幫助。