哪个命令列出了系统上的所有防火墙规则,输出包含信息和标头:规则名称、TCP端口、已启用



我一直试图从powershell中的防火墙规则中只获取特定数据。我尝试的命令是Get-NetFirewallRule|select DisplayName,Enabled,但它没有输出必需的命令。

这样尝试(有点慢(:

$rules = Get-NetFirewallRule
$rules | Foreach {
$rule = (Get-NetFirewallRule -DisplayName $_.DisplayName | Get-NetFirewallPortFilter)
If($rule.Protocol -eq "TCP"){
[PSCustomObject]@{
'Rule Name' = $_.DisplayName
'TCP Port' = $rule.LocalPort
'Enabled' = $_.Enabled
}
}
}

最新更新