我正在尝试查找是否已存在名称相同、配置相同的防火墙规则,例如:本地端口。
所以我使用Get-NetFirewallRule
来列出所有规则,但是返回的规则不包含端口信息,也缺少一些其他信息。我在哪里可以找到一个规则的所有配置。下面是返回的属性:
Name
DisplayName
Description
DisplayGroup
Group
Enabled
Profile
Platform
Direction
Action
EdgeTraversalPolicy
LooseSourceMapping
LocalOnlyMapping
Owner
PrimaryStatus
Status
EnforcementStatus
PolicyStoreSource
PolicyStoreSourceType
5条答案
按热度按时间ffscu2ro1#
我认为许多人(包括我最近)不理解的是,Get-NetFirewall*Filter命令提供了搜索防火墙规则的快捷方式,就像其他命令中的-filter选项一样。如果我这样做,将需要很长时间:
虽然这几乎是即时的:
Get-NetFirewallPortFilter实际上返回InstanceID属性中的防火墙规则名称,默认情况下不会显示,这就是为什么您可以通过管道将Get-NetFirewallPortFilter返回到Get-NetFirewallRule中。
下面是一个提供类似netsh的详细输出的函数,其中包含端口、地址和应用程序:
k4aesqcs2#
要查找防火墙规则中已存在的端口号,可以使用其他cmdlet
Get-NetFirewallPortFilter
。(Info)
使用
Get-NetFirewallRule
筛选要查看的规则子集,并将其通过管道传输到上述cmdlet。例如:听起来你要找的是本地港口。
oxalkeyp3#
使用以下命令列出全部。
输出如下所示
fruv7luv4#
使用Select-Object Cmdlet显示所有属性
这将只显示第一个,所以你不会得到淹没与文本,随时删除“-第一个1”的需要
然而,调查它似乎没有关于端口的信息,进一步研究它-您可能需要使用Get-NetFirewallPortFilter并通过instanceid匹配它们。如果您需要帮助,我将需要关于您正在尝试完成的事情的多一点信息。
pu3pd22g5#
如果你只使用防火墙小命令来获取包括端口、程序等的对象列表,这不是一件容易的事情,而且速度非常慢!为什么不试试老方法,
netsh advfirewall firewall
命令集。下面是我尝试获取包括所有规则信息的对象列表。