Windows防火墙日志长期不清理会占用磁盘空间并干扰安全审计;可通过GUI确认启用状态及路径,推荐手动清空内容或PowerShell截断,强制重置需停止服务后删除文件并重配日志。

Windows防火墙日志缓存长期不清理会占用磁盘空间,且可能干扰安全审计时的日志分析,尤其在启用详细记录后,日志文件(如pfirewall.log)可能增长至数百MB甚至更大。
确认防火墙日志是否已启用并定位日志路径
打开“高级安全 Windows 防火墙”→右键左侧“Windows 防火墙与高级安全”→选择“属性”→切换到“域配置文件”/“专用配置文件”/“公用配置文件”选项卡→查看对应配置文件的“日志”区域中“记录丢弃的数据包”和“记录成功的连接”是否勾选。
若已启用,日志默认保存在 【%systemroot%\System32\LogFiles\Firewall\pfirewall.log】;该路径不可直接在资源管理器中粘贴访问,需手动导航或使用命令展开环境变量。
未启用日志则后续操作无效,跳过本流程即可。
手动清空当前日志文件内容(推荐)
以管理员身份运行记事本 → 文件 → 打开 → 在地址栏粘贴:%windir%\System32\LogFiles\Firewall\pfirewall.log → 点击“是”允许提权访问 → 全选(Ctrl+A)→ 删除(Delete)→ 保存(Ctrl+S)。
这一步不会删除日志文件本身,只清空内容,避免因文件被系统独占锁死导致删除失败;Windows 防火墙服务会在下次写入时自动续写新条目,不影响后续记录功能。
彻底删除日志文件并禁用再启用(强制重置)
第一步:停止防火墙服务 → Win+R 输入 services.msc → 找到“Windows Firewall” → 右键“停止”。
第二步:删除日志文件 → 进入 %windir%\System32\LogFiles\Firewall\ → 删除 pfirewall.log 文件(若存在其他历史日志如 pfirewall.log.1,一并删除)。
第三步:重新启用日志功能 → 回到“高级安全 Windows 防火墙”属性页 → 对每个配置文件的日志设置取消勾选 → 应用 → 再重新勾选所需项目 → 应用。此操作会触发系统重建空白日志文件。
注意:服务停止期间防火墙策略仍生效,但实时日志写入暂停;重启服务前务必完成日志路径清理,否则旧文件残留可能被继续追加。
通过PowerShell一键截断日志(适合批量维护)
以管理员身份运行 PowerShell → 执行:
Clear-Content -Path "$env:SystemRoot\System32\LogFiles\Firewall\pfirewall.log"
该命令等效于手动清空内容,但执行更快、可嵌入脚本;若提示“拒绝访问”,说明防火墙服务仍在写入该文件,需先运行 Stop-Service MpsSvc。


















