因為Java 7 防火牆問題,我嘗試以管理員身份執行以下命令,但出現錯誤:
netsh advfirewall set global StatefulFTP disable
(德文)“Der folgende Befehl wurde nicht gefunden:advfirewall”
用英語來說,類似:
“未找到以下指令:advfirewall”
我找到了一個相關問題,但我運行的不是 Windows 64 位元;我使用的是 Windows Vista Business SP2 32 位元。
解決方法是停用防火牆,但這不是一個好的解決方案。
根據太陽錯誤報告,可以透過註冊表更改防火牆設置,但我不知道如何操作。
有任何想法嗎?
更新
在裡面微軟文件關於 netsh 我找到了一篇描述我的錯誤訊息的文章。它解釋了根據安裝不同的上下文可用。我在兩台不同的計算機上沒有“netsh advfirewall”上下文。
答案1
您可能有一個未註冊或遺失幫助程式 dll在 netsh 內
從管理員命令提示字元執行netsh show helper
並掃描 advfirewall 上下文的輸出。如果丟失,請運行netsh add helper AUTHFWCFG.DLL
以恢復它。
您可能想要註冊的 netsh 幫助程式(上下文)的完整列表
advfirewall:netsh add helper AUTHFWCFG.DLL
防火牆:netsh add helper FWCFG.DLL
http:netsh add helper NSHHTTP.DLL
介面:netsh add helper IFMON.DLL
橋接器:netsh add helper HNETMON.DLL
dhcpclient:netsh add helper DHCPCMONITOR.DLL
dnsclient,netio:netsh add helper NETIOHLP.DLL
ipsec:netsh add helper NSHIPSEC.DLL
lan:netsh add helper DOT3CFG.DLL
mbn:netsh add helper WWANCFG.DLL
命名空間:netsh add helper NETIOHLP.DLL
nap:netsh add helper NAPMONTR.DLL
p2p:netsh add helper P2PNETSH.DLL
ras:netsh add helper RASMONTR.DLL
rpc:netsh add helper RPCNSH.DLL
追蹤:netsh add helper NETTRACE.DLL
wcn:netsh add helper WCNNETSH.DLL
wfp:netsh add helper NSHWFP.DLL
winhttp:netsh add helper WHHELPER.DLL
winsock:netsh add helper WSHELPER.DLL
wlan:netsh add helper WLANCFG.DLL
答案2
您可能需要以提升的權限來執行此程序 作為管理員
我怎樣才能做到這一點?
使用以下方法之一:
只需按六次按鍵即可開啟提升的命令提示符
按Wintypecmd
Ctrl+ Shift+ Enter,然後按Alt+C確認海拔提示。安裝高程容器
下載 John Robbins 的優秀程式elevate.exe
並將其放在您的路徑中。現在您可以使用提升權限來呼叫程式elevate <program> <program arguments>
(或者您可以將其重命名為 sudo.exe 並使用 來呼叫它們sudo
)- 腳本提升
為什麼這是必要的?
根據具有進階安全性的 Windows 防火牆的 Netsh 命令 您必須具有執行 netsh advfirewall 命令所需的權限。
如果您是管理員群組的成員,並且您的電腦上啟用了使用者帳戶控制,則可以使用提升的權限從命令提示字元執行命令。若要使用提升的權限啟動命令提示符,請找到用於啟動命令提示字元會話的圖示或「開始」功能表項,右鍵單擊它,然後按一下「以管理員身份執行」。
如果您是 Network Operators 群組的成員,則可以從任何命令提示字元執行命令。
如果您不是管理員或網路操作員的成員,且未被委派執行此命令的任何其他權限,則您只能執行那些顯示的命令,但不能變更設定。