PowerShell Get-NetFirewallProfile
最后修改:2025 年 2 月 15 日
本教程介绍了PowerShell中的Get-NetFirewallProfile cmdlet。它用于检索Windows防火墙配置文件。该cmdlet有助于管理Windows系统上的网络安全设置。
防火墙配置文件基础知识
Windows防火墙有三个网络配置文件:域、专用和公用。每个配置文件都有单独的防火墙规则和设置。域配置文件在连接到公司域时应用。专用用于受信任的网络。公用用于咖啡店等不受信任的网络。
Get-NetFirewallProfile 基本用法
使用Get-NetFirewallProfile最简单的方法是不带参数。这将检索所有防火墙配置文件及其当前设置。输出显示配置文件名称、启用状态和默认操作。每个配置文件都表示为一个NetFirewallProfile对象。
Get-NetFirewallProfile
此命令返回所有防火墙配置文件。输出包括配置文件名称、启用状态、默认入站/出站操作以及其他设置。
获取特定的防火墙配置文件
您可以使用-Name参数检索特定的配置文件。有效值为Domain、Private或Public。当您需要检查特定网络类型的设置时,这很有用。该cmdlet返回指定配置文件的详细配置。
Get-NetFirewallProfile -Name "Public"
此命令仅返回公用防火墙配置文件设置。您可以查看此网络类型的防火墙是否已启用及其默认操作。
PS C:\> .\firewall2.ps1 Name : Public Enabled : True DefaultInboundAction : Block DefaultOutboundAction : Allow AllowLocalFirewallRules : False AllowLocalIPsecRules : False LogFileName : %systemroot%\system32\LogFiles\Firewall\pfirewall.log LogMaxSizeKilobytes : 4096 LogAllowed : False LogBlocked : True
检查防火墙配置文件状态
要快速检查防火墙配置文件是否已启用,请将-Name参数与Select-Object一起使用。这会过滤输出,仅显示配置文件名称和启用状态。这对于需要验证防火墙状态的脚本很有用。
Get-NetFirewallProfile -Name "Private" | Select-Object Name, Enabled
此命令显示专用配置文件防火墙是否已启用。输出已简化为仅配置文件名称及其启用状态(True/False)。
格式化防火墙配置文件输出
要获取详细信息,请使用Format-List显示所有属性。这将显示配置文件的所有可用配置选项。您可以看到日志设置、默认操作和其他高级配置。
Get-NetFirewallProfile -Name "Domain" | Format-List *
此命令显示域防火墙配置文件的所有属性。输出包括日志路径、最大日志大小和其他详细设置。
过滤已启用的防火墙配置文件
您可以使用Where-Object根据配置文件是否已启用进行过滤。这有助于确定哪些配置文件当前处于活动状态。$_变量表示管道中的当前配置文件。
Get-NetFirewallProfile | Where-Object { $_.Enabled -eq $true }
此命令仅列出已启用的防火墙配置文件。这对于审计哪些网络类型当前具有活动的防火墙保护很有用。
来源
本教程介绍了PowerShell中的Get-NetFirewallProfile cmdlet。
作者
列出 所有 PowerShell 教程。