当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 如何在 Windows 上禁用 Windows 错误报告并清除 WERReportQueue 文件夹?

作者:精品下载站 日期:2024-12-14 23:03:28 浏览:11 分类:玩电脑

如何在 Windows 上禁用 Windows 错误报告并清除 WERReportQueue 文件夹?


Windows 错误报告服务 (WER) 用于收集有关系统和第三方应用程序故障的调试信息,并将错误报告发送到 Microsoft 服务器。此信息应由 MSFT 进行分析,如果有解决方案,将通过 Windows 错误报告响应发送给用户。事实上,很少有人使用这个功能,尽管微软在最新的 Windows 版本中总是默认启用 WER 服务。在大多数情况下,当人们看到 C:\ProgramData\Microsoft\Windows\WER\ReportQueue\ 占用系统驱动器上的大量空间(最多几十 GB)时,就会想起 WER,即使默认情况下为此目录启用了 NTFS 压缩。

[玩转系统] 如何在 Windows 上禁用 Windows 错误报告并清除 WERReportQueue 文件夹?

Windows 错误报告服务

Windows 错误报告在应用程序发生错误时显示一个对话框,提示您向 Microsoft 提交错误报告。当你看到“

YourAppName.exe has stopped working, Windows is collecting more information about the problem

在 Windows 中出现错误消息时,Windows 错误报告服务运行 WerFault.exe 工具来收集调试数据(可能包括内存转储)。

[玩转系统] 如何在 Windows 上禁用 Windows 错误报告并清除 WERReportQueue 文件夹?

用户数据保存到用户配置文件中:

%USERPROFILE%\AppData\Local\Microsoft\Windows\WER\

系统数据进入ProgramData目录:

%ALLUSERSPROFILE%\Microsoft\Windows\WER\

Windows 错误报告服务是一项单独的 Windows 服务。您可以使用 PowerShell 命令检查服务的状态:

Get-Service WerSvc

在 WER\ReportQueue\ 目录中有很多文件夹,其名称格式如下:

  • Critical_6.3.9600.11285_{ID}_00000000_cab_3212dd23

  • Critical_powershell.exe_{ID}_cab_332a45c5

  • Critical_sqlservr.exe__{ID}_cab_b3a200181

  • NonCritical_7.9.9600.11285__{ID}_0bfab19a

  • AppCrash_cmd.exe_{ID}_dba332ad_12eb5425

正如您所看到的,目录名称包含事件的严重级别和已崩溃的特定 EXE 文件的名称。在所有文件夹中,都有一个名为 Report.wer 的文件,其中包含错误的描述以及一些带有附加信息的文件。

如何清除 Windows 上的 WER\ReportQueue 文件夹?

通常,每个文件夹的大小都很小,但在某些情况下,会为占用大量空间的问题进程生成内存转储。下面的屏幕截图显示memory.hdmp的大小约为610 MB。几个这样的转储可能会占用系统驱动器上的几 GB 空间。

[玩转系统] 如何在 Windows 上禁用 Windows 错误报告并清除 WERReportQueue 文件夹?

要使用内置工具清除所有这些错误和日志,请打开控制面板并转至系统和安全 -> 安全和维护 -> 维护 -> 查看可靠性历史记录 -> 查看所有问题报告,然后单击清除所有问题报告

[玩转系统] 如何在 Windows 上禁用 Windows 错误报告并清除 WERReportQueue 文件夹?

要快速释放一些磁盘空间,您可以手动删除以下文件夹中 WER 服务生成的调试和日志文件:

  • C:\ProgramData\Microsoft\Windows\WER\ReportArchive\

  • C:\ProgramData\Microsoft\Windows\WER\ReportQueue\

以下 PowerShell 命令将从 WER 目录中删除所有超过 30 天的文件:

Get-ChildItem -Path  'C:\ProgramData\Microsoft\Windows\WER\ReportArchive' -Recurse | Where-Object CreationTime -lt (Get-Date).AddDays(-30) | Remove-Item -Force -Recurse
Get-ChildItem -Path  'C:\ProgramData\Microsoft\Windows\WER\ReportQueue' -Recurse | Where-Object CreationTime -lt (Get-Date).AddDays(-30) | Remove-Item -Force -Recurse

要清理所有用户配置文件中的 WER 目录,请使用以下 PowerShell 脚本:

$users = Get-ChildItem c:\users|where{$_.name -notmatch 'Public|default'}
foreach ($user in $users){
Get-ChildItem "C:\Users$User\AppData\Local\Microsoft\Windows\WER\ " -Recurse -ErrorAction SilentlyContinue | Remove-Item -force -Recurse
}

在 Windows Server 上禁用 Windows 错误报告

在 Windows Server 2019/2016/2012R2 上,您可以使用 PowerShell 管理 WER 服务状态。您可以禁用 Windows 错误报告服务:

Get-Service WerSvc| stop-service -passthru -force
Set-Service WerSvc -startuptype manual -passthru

但有更好的方法在 Windows 上禁用 WER。 PowerShell 4.0 版添加了一个单独的 WindowsErrorReporting 模块:

Get-Command -Module WindowsErrorReporting

[玩转系统] 如何在 Windows 上禁用 Windows 错误报告并清除 WERReportQueue 文件夹?

您可以使用以下命令检查 Windows 错误报告服务的状态:

Get-WindowsErrorReporting

要禁用 WER,请运行:

Disable-WindowsErrorReporting

[玩转系统] 如何在 Windows 上禁用 Windows 错误报告并清除 WERReportQueue 文件夹?

在 Windows Server 2012 R2 上,您可以通过控制面板禁用 Windows 错误报告(控制面板 -> 系统和安全 -> 操作中心 -> 维护 -> 设置 -> 选择我不想参与,并且不要再询问我

[玩转系统] 如何在 Windows 上禁用 Windows 错误报告并清除 WERReportQueue 文件夹?

如何在 Windows 10 上禁用或启用错误报告?

在 Windows 10 中,您无法通过控制面板禁用错误报告。您可以在控制面板->系统和安全->安全与维护->维护中查看组件状态。如您所见,报告问题参数已启用。

[玩转系统] 如何在 Windows 上禁用 Windows 错误报告并清除 WERReportQueue 文件夹?

您可以通过注册表在 Windows 10 上禁用 Windows 错误报告。为此,请在注册表项 HKLM\SOFTWARE\Microsoft\Windows\Windows Error Reporting 下创建一个名为 Disabled 且值为 1 的新 DWORD(32 位)参数。

您可以使用以下命令禁用特定用户的 Windows 错误收集:

reg add "HKCU\Software\Microsoft\Windows\Windows Error Reporting" /v "Disabled" /t REG_DWORD /d "1" /f

或者为所有人禁用 WER:

reg add "HKLM\Software\Microsoft\Windows\Windows Error Reporting" /v "Disabled" /t REG_DWORD /d "1" /f

[玩转系统] 如何在 Windows 上禁用 Windows 错误报告并清除 WERReportQueue 文件夹?

现在让我们再次检查控制面板中的报告问题参数的状态。它应该是关闭

[玩转系统] 如何在 Windows 上禁用 Windows 错误报告并清除 WERReportQueue 文件夹?

您可以通过 GPO 将此注册表参数部署到域计算机。

如何通过 GPO 禁用自动 Windows 错误报告?

您可以通过组策略禁用 Windows 错误报告服务的日志记录。打开本地(

gpedit.msc

) 或域 GPO (

gpmc.msc

) 编辑器并转到以下 GPO 部分计算机配置 -> 管理模板 -> Windows 组件 -> Windows 错误报告。找到名为禁用 Windows 错误报告的策略并将其设置为启用。这将禁用 Windows 数据收集和错误报告。

用户配置部分有类似的策略。

[玩转系统] 如何在 Windows 上禁用 Windows 错误报告并清除 WERReportQueue 文件夹?

更新 GPO 设置(无需重新启动)。

因此,Windows 将不再生成应用程序和系统错误消息,也不会再发送给 Microsoft。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯