PowerShell Get-NetFirewallRule
最后修改:2025 年 2 月 15 日
在本文中,我们将介绍 PowerShell 中的 Get-NetFirewallRule
cmdlet。此 cmdlet 用于从本地计算机检索 Windows 防火墙规则。
防火墙规则基础知识
防火墙规则定义了如何过滤网络流量。每条规则都有名称、方向、操作和协议等属性。规则可以是入站的,也可以是出站的。它们可以根据各种条件允许或阻止流量。
Get-NetFirewallRule 基本用法
使用 Get-NetFirewallRule
的最简单方法是不带任何参数。这将列出系统上的所有防火墙规则。输出包括规则名称、启用状态和方向。每条规则都表示为一个防火墙对象。
Get-NetFirewallRule
此命令检索所有防火墙规则。默认输出显示基本信息。可以使用其他参数查看更多详细信息。
按名称获取特定的防火墙规则
您可以通过名称检索特定的防火墙规则。使用 -DisplayName 参数后跟规则名称。支持通配符以进行部分匹配。这在搜索相关规则时非常有用。
Get-NetFirewallRule -DisplayName "Remote Desktop*"
此命令返回所有名称以“远程桌面”开头的规则。对于 RDP 等复杂应用程序,可能会返回多条规则。
PS C:\> .\firewall2.ps1 Name : RemoteDesktop-UserMode-In-TCP DisplayName : Remote Desktop - User Mode (TCP-In) Description : Inbound rule for the Remote Desktop service to allow RDP traffic. [TCP 3389] DisplayGroup : Remote Desktop Enabled : True Profile : Any Platform : {} Direction : Inbound Action : Allow
按启用状态获取防火墙规则
您可以根据规则是启用还是禁用来过滤规则。使用 $true 或 $false 值与 -Enabled 参数。这有助于识别防火墙配置中活动的或非活动的规则。
Get-NetFirewallRule -Enabled $true
此命令返回所有启用的防火墙规则。仅显示防火墙配置中当前活动的规则。
获取详细的防火墙规则信息
要查看防火墙规则的所有属性,请将输出通过管道传递给 Format-List。这将显示完整的配置详细信息,包括协议和端口。您还可以使用 Select-Object 选择特定属性。
Get-NetFirewallRule -DisplayName "File and Printer Sharing*" | Format-List *
此命令显示文件和打印机共享规则的所有属性。输出包括接口和安全等详细配置。
按方向过滤防火墙规则
您可以使用 -Direction 参数按流量方向过滤规则。有效值为 Inbound(入站)或 Outbound(出站)。这有助于分析影响防火墙特定流量流的规则。
Get-NetFirewallRule -Direction Inbound | Where-Object { $_.Enabled -eq $true }
此命令列出了所有启用的入站防火墙规则。Where-Object cmdlet 过滤结果以仅显示活动规则。根据需要调整过滤器。
来源
在本文中,我们介绍了 PowerShell 中的 Get-NetFirewallRule cmdlet。
作者
列出 所有 PowerShell 教程。