可快速导出Windows 11防火墙全部入站、出站或合并规则为CSV文件供审计:入站规则用Get-NetFirewallRule -Direction Inbound导出;出站规则同理;合并时添加RuleType字段区分方向,均支持普通用户执行且不修改配置。

您需要在重装系统或迁移策略前,快速获取当前 Windows 11 防火墙所有规则的可读清单,用于人工审核、比对差异或生成审计报告,而不是执行完整策略覆盖。
导出全部入站规则为CSV
这一步操作起来很简单,直接复制粘贴命令即可执行,无需管理员权限也能读取规则列表(但部分系统级规则可能显示为空字段)。
以普通用户身份启动 PowerShell(右键开始菜单 → “终端” → 选择“Windows Terminal”)。
运行以下命令:
Get-NetFirewallRule -Direction Inbound | Select-Object DisplayName, Enabled, Action, Profile, Direction, Protocol, LocalPort, RemotePort, Description | Export-Csv -Path "$env:USERPROFILE\Desktop\InboundRules.csv" -NoTypeInformation -Encoding UTF8
导出后打开桌面的 InboundRules.csv,可用 Excel 或记事本查看;注意:LocalPort 和 RemotePort 字段可能为“Any”或逗号分隔的多个值(如“80,443”),这是正常表现。
导出全部出站规则为CSV
出站规则常被忽略,但实际影响程序联网行为,比如某软件突然无法上传数据,就可能源于出站规则被禁用。
在同一 PowerShell 窗口中,直接运行:
Miller (mlr) 是一个命令行工具,用于查询、整形和重新格式化名称索引数据,如 CSV、TSV、JSON 和 JSON Lines。它将 awk、sed、cut、join 和 sort 的功能整合到一个专为结构化数据处理而构建的单一工具中。
Get-NetFirewallRule -Direction Outbound | Select-Object DisplayName, Enabled, Action, Profile, Direction, Protocol, LocalPort, RemotePort, Description | Export-Csv -Path "$env:USERPROFILE\Desktop\OutboundRules.csv" -NoTypeInformation -Encoding UTF8
该命令不修改任何配置,仅读取现有规则;若提示“找不到此 cmdlet”,说明系统未启用 NetSecurity 模块,需先执行 Import-Module NetSecurity 再重试。
合并入站与出站规则到单个CSV
当您需要统一视图做横向对比(例如查找同名规则在入/出方向上的启用状态是否一致),可一次性导出混合列表。
第一步:收集全部规则对象
$all = Get-NetFirewallRule -Direction Inbound | ForEach-Object { $_ | Add-Member -NotePropertyName RuleType -NotePropertyValue "Inbound" -PassThru } + Get-NetFirewallRule -Direction Outbound | ForEach-Object { $_ | Add-Member -NotePropertyName RuleType -NotePropertyValue "Outbound" -PassThru }
第二步:筛选关键字段并导出
$all | Select-Object RuleType, DisplayName, Enabled, Action, Profile, Protocol, LocalPort, RemotePort, Description | Export-Csv -Path "$env:USERPROFILE\Desktop\FirewallRules_All.csv" -NoTypeInformation -Encoding UTF8
这一步会生成带类型标记的整合文件,避免人工混淆方向;注意:DisplayName 字段含中文时必须指定 -Encoding UTF8,否则 Excel 打开将乱码。

















