这里的命令允许显示所有的规则,
netsh advfirewall firewall show rule dir=in name=all
我想过滤
- 与端口445相关的规则。
- 当前启用的规则。
我阅读了文档,我可以看到,例如,可选选项[dir=in|out]
没有记录。
如何实现?
如果需要,我可以使用VB脚本或Powershell 2.0
这是我所知道的仅有的两个未记录的选项:
dir (direction) - in or out
status - enabled或disabled
我们可以构建一个netsh查询,它接近端口,只是缺少端口部分:
netsh advfirewall firewall show rule status=enabled name=all
我们可以使用powershell的select-string来查找端口要求(免责声明,我不擅长正则表达式,所以可能有一个更好的,但这似乎有效)
select-string -pattern "(LocalPort.*445)|(LocalPort.*Any)" -context 9,4
选择字符串匹配任何特定于规则445的内容,以及适用于任何端口的规则。context参数将为我们显示规则的其余部分(否则我们将只获得LocalPort行)
最后的命令是
netsh advfirewall firewall show rule status=enabled name=all | select-string -pattern "(LocalPort.*445)|(LocalPort.*Any)" -context 9,4
这个适合我,如果它给你任何问题或者你想要其他东西,请告诉我。