“netsh advfirewall 防火墙删除规则名称程序”语法不起作用

“netsh advfirewall 防火墙删除规则名称程序”语法不起作用

我正在尝试使用 netsh 从命令行删除 Windows 防火墙规则。我尝试使用以下语法;但是,结果对我来说不起作用。

netsh advfirewall firewall delete rule program="C\Program Files (x86)\utorrent\uTorrent.exe"

这个正确的语法是什么?我正在使用 Windows 7 Ultimate 64 位。

答案1

不要使用“Program”参数和值,在删除语句中使用“Rule”名称。

您可以运行netsh advfirewall firewall show rule status=enabled name=all或者netsh advfirewall firewall show rule status=enabled name=all | FIND /I "uTorrent"获取已启用的规则列表,以帮助定位规则的实际名称。

一旦确定了这一点,您就可以运行netsh advfirewall firewall delete rule name="<Rule Name>"并相应地插入规则的名称,以删除该规则。

例子

创建名为“IP Block”的规则

netsh advfirewall firewall add rule name="IP Block" dir=in interface=any action=block remoteip=<IPaddress>/32

删除名为“IP Block”的规则

netsh advfirewall firewall delete rule name="IP Block"

更多资源

答案2

您的尝试均未包含正确的规则名称。

如果不提供不同的规则名称使用(根据此帮助name=allprogram="C:\Program Files (x86)\utorrent\uTorrent.exe"

netsh advfirewall firewall delete rule name=all program="C:\Program Files (x86)\utorrent\uTorrent.exe"

名称 = { 全部 |规则名称}
必需。您可以指定以下值之一:

  • 您想要删除的连接安全规则的规则名称。
  • 全部。指定删除符合其他参数中条件的所有规则。如果命令中不包含其他参数,则删除所有连接安全规则。

答案3

我找到了另一个强大的解决方案:

@echo off
setlocal EnableExtensions DisableDelayedExpansion
REG EXPORT "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\SharedAccess\Parameters\FirewallPolicy\FirewallRules" "%TEMP%\RegBackup.reg" /y > NUL 2> NUL
TYPE "%TEMP%\RegBackup.reg" | FINDSTR /i /v torrent > "%TEMP%\RegBackupNew.reg"
REG DELETE "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\SharedAccess\Parameters\FirewallPolicy\FirewallRules" /f /va > NUL 2> NUL
REG IMPORT "%TEMP%\RegBackupNew.reg" 2> NUL
REG EXPORT "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\services\SharedAccess\Parameters\FirewallPolicy\FirewallRules" "%TEMP%\RegBackup.reg" /y > NUL 2> NUL
TYPE "%TEMP%\RegBackup.reg" | FINDSTR /i /v torrent > "%TEMP%\RegBackupNew.reg"
REG DELETE "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\services\SharedAccess\Parameters\FirewallPolicy\FirewallRules" /f /va > NUL 2> NUL
REG IMPORT "%TEMP%\RegBackupNew.reg" 2> NUL
DEL /q "%TEMP%\RegBackup.reg" 2> NUL
DEL /q "%TEMP%\RegBackupNew.reg" 2> NUL
endlocal

相关内容