You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell 2.0环境下获取防火墙规则的替代Cmdlet咨询

获取PowerShell 2.0中的防火墙规则信息

很遗憾,PowerShell 2.0没有Get-NetFirewallRule这个Cmdlet——这个命令属于NetSecurity模块,是从PowerShell 5.1(搭配Windows 8/Server 2012及以上系统)才开始引入的,你的PS 2.0环境(通常对应Windows 7/Server 2008 R2)并不支持它。

不过你可以通过以下两种可靠的方法获取所需的防火墙规则信息(包含本地端口、本地地址、远程地址):

方法1:使用netsh命令(推荐)

netsh advfirewall是旧版Windows系统中管理防火墙的原生工具,它的输出可以被PowerShell解析成结构化对象,方便后续处理。

步骤1:获取所有规则的详细输出

执行以下命令获取完整的防火墙规则详情:

$rawOutput = netsh advfirewall firewall show rule name=all verbose

步骤2:解析输出为PowerShell对象

运行这段脚本,将文本输出转换成包含你需要字段的自定义对象:

$firewallRules = @()
$currentRule = $null

foreach ($line in $rawOutput) {
    # 匹配规则名称,开始新规则的记录
    if ($line -match "^Rule Name:\s*(.*)") {
        if ($currentRule) {
            $firewallRules += $currentRule
        }
        $currentRule = [PSCustomObject]@{
            RuleName       = $matches[1].Trim()
            LocalPort      = $null
            LocalAddress   = $null
            RemoteAddress  = $null
        }
    }
    # 提取本地端口
    elseif ($line -match "^LocalPort:\s*(.*)") {
        $currentRule.LocalPort = $matches[1].Trim()
    }
    # 提取本地地址
    elseif ($line -match "^LocalAddress:\s*(.*)") {
        $currentRule.LocalAddress = $matches[1].Trim()
    }
    # 提取远程地址
    elseif ($line -match "^RemoteAddress:\s*(.*)") {
        $currentRule.RemoteAddress = $matches[1].Trim()
    }
}
# 添加最后一条规则
$firewallRules += $currentRule

# 查看结果(筛选非"Any"的本地端口规则)
$firewallRules | Where-Object { $_.LocalPort -ne "Any" } | Select-Object RuleName, LocalPort, LocalAddress, RemoteAddress

注意事项

如果你的系统是非英文版本,需要调整正则表达式中的关键字(比如"LocalPort"要替换成对应语言的翻译),否则无法正确匹配字段。

方法2:使用WMI(有限支持)

部分旧版Windows系统支持通过WMI的Root\Microsoft\Windows\Firewall命名空间访问防火墙规则,但这个方法的兼容性不如netsh,且返回的字段可能不够完整。示例命令:

Get-WmiObject -Namespace Root\Microsoft\Windows\Firewall -Class MSFT_NetFirewallRule | Select-Object DisplayName, LocalPort, LocalAddress, RemoteAddress

如果执行时提示找不到类,说明你的系统不支持这个WMI类,建议回到方法1。


内容的提问来源于stack exchange,提问作者maures

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 09:18:31