Windows 防火墙:如何使用 netsh 更改现有规则

Windows 防火墙:如何使用 netsh 更改现有规则

我可以使用创建新规则

netsh advfirewall firewall add rule...

并使用

netsh advfirewall firewall delete rule...

但我无法找到改变现有规则的方法。

现在我实现了一个逻辑,我检查规则是否存在,如果规则确实存在,则删除它,然后插入修改后的规则。但在这种方法中,我需要跟踪以前的规则配置。例如,如果我只想禁用规则,那么我无法删除现有规则并编写新规则,而不知道该规则的其他配置是什么。

有没有更好的方法可以做到同样的事情,比如我想使用 bat 文件更改一个字段但保持所有内容不变?谢谢。

答案1

您可以使用netsh advfirewall firewall set rule“为现有规则的属性设置新值”的命令。例如,要禁用所有名为“Web 服务器”的规则:

netsh advfirewall firewall set rule name="Web Server" new enable=no

请参阅netsh advfirewall firewall set rule /?以了解更多详细信息。值得注意的是,附加过滤器(例如,profile=private仅影响私人资料)位于之前new,而其他要更改的字段位于之后new

相关内容