由于Java7防火墙问题,我尝试以管理员身份执行以下命令,但出现错误:
netsh advfirewall set global StatefulFTP disable
(德语)“以下防御措施不适用:advfirewall”
用英语来说,类似于:
“未找到以下命令:advfirewall”
我发现了一个相关问题,但我运行的不是 Windows 64 位;我使用的是 Windows Vista Business SP2 32 位。
一种解决方法是禁用防火墙,但这不是一个好的解决方案。
根据Sun 错误报告,可以通过注册表更改防火墙设置,但我不知道如何操作。
有任何想法吗?
更新
在里面Microsoft 文档关于 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
您可能需要以提升的权限运行此程序 作为管理员
我怎样才能做到这一点?
使用下列方法之一:
只需六次击键即可打开提升的命令提示符
按下Win类型cmd
Ctrl++ Shift,Enter然后按Alt+C确认海拔提示。安装高架容器
下载 John Robbins 的优秀程序elevate.exe
并将其放在您的路径中。现在,您可以使用提升权限来调用程序elevate <program> <program arguments>
(或者您可以将其重命名为 sudo.exe 并使用 调用它们sudo
)- 编写海拔
为什么这是必要的?
根据具有高级安全性的 Windows 防火墙的 Netsh 命令 您必须具有运行 netsh advfirewall 命令所需的权限。
如果您是管理员组的成员,并且您的计算机上启用了用户帐户控制,则请从具有提升权限的命令提示符运行命令。要使用提升权限启动命令提示符,请找到用于启动命令提示符会话的图标或“开始”菜单项,右键单击它,然后单击“以管理员身份运行”。
如果您是网络操作员组的成员,那么您可以从任何命令提示符运行命令。
如果您不是管理员或网络操作员的成员,并且没有被委派任何其他权限来运行此命令,那么您只能运行那些显示但不能更改设置的命令。