netsh显示由本地端口过滤的规则

时间:2015-05-29 14:17:01

标签: netsh

此处的指挥官允许显示所有规则,

    netsh advfirewall firewall show rule dir=in name=all

我想过滤

  • 与端口445相关的规则。
  • 目前启用的规则。

我阅读了文档,我可以看到,例如,未记录可选选项[dir=in|out]

如何实现?关于无证件可能性的文档

如果需要,我可以使用VB脚本或Powershell 2.0。

1 个答案:

答案 0 :(得分:3)

这是我所知道的唯一两个未记录的选项:

dir(方向) - in或out

状态 - 启用或禁用

我们可以构建一个接近的netsh查询,并且只是缺少端口部分:

netsh advfirewall firewall show rule status=enabled name=all

我们可以使用powershell的select-string查找端口要求(免责声明我不擅长正则表达式,所以可能有更好的一个,但这似乎有效)

select-string -pattern "(LocalPort.*445)|(LocalPort.*Any)" -context 9,4

select-string匹配特定于规则445的任何内容,以及适用于任何端口的规则。 context参数将为我们显示规则的其余部分(否则我们只会获取LocalPort行)

最终命令最终成为

netsh advfirewall firewall show rule status=enabled name=all | select-string -pattern "(LocalPort.*445)|(LocalPort.*Any)" -context 9,4

这适用于我,如果它给你任何问题或者你想要别的东西,请告诉我。