Как отключить отчет об ошибках Windows и очистить папку WER\ReportQueue в Windows

Служба отчетов об ошибках Windows (WER) используется для сбора отладочной информации о сбоях в работе системы и сторонних приложений и отправки отчетов об ошибках на серверы Microsoft. Эта информация должна быть проанализирована MSFT, и если найдется решение, оно будет отправлено пользователю через Windows Error Reporting Response. На самом деле, мало кто пользуется этой функцией, хотя Microsoft всегда оставляет службу WER включенной по умолчанию в последних версиях Windows. В большинстве случаев люди вспоминают о WER, когда видят, что C:\ProgramData\Microsoft\Windows\WER\ReportQueue\ занимает много места на системном диске (до нескольких десятков гигабайт), несмотря на то, что по умолчанию для этого каталога включено сжатие NTFS.

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

Служба отчетов об ошибках Windows

Служба сообщений об ошибках Windows отображает диалоговое окно при возникновении ошибки приложения, предлагая отправить отчет об ошибке в Microsoft. Когда вы видите сообщение «YourAppName.exe has stopped working, Windows is collecting more information about the problem» в Windows, служба Windows Error Reporting запускает инструмент WerFault.exe для сбора отладочных данных (может включать дамп памяти).

приложение перестало работать, Windows собирает дополнительные сведения о проблеме

Пользовательские данные сохраняются в профиле пользователя:

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

А системные данные попадают в каталог ProgramData:

%ALLUSERSPROFILE%\Microsoft\Windows\WER\

Служба Windows Error Reporting — это отдельная служба 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, который содержит описание ошибок и несколько файлов с дополнительной информацией.

Как очистить папку WER\ReportQueue в Windows?

Обычно размер каждой папки невелик, но в некоторых случаях создается дамп памяти для проблемного процесса, занимающего много места. На скриншоте ниже показано, что размер memory.hdmp составляет около 610 МБ. Несколько таких дампов могут занять несколько гигабайт на системном диске.

wer reportquene memoty.hdmp

Чтобы очистить все эти ошибки и журналы с помощью встроенных средств, откройте Панель управления и перейдите в раздел Система и безопасность -> Безопасность и обслуживание -> Обслуживание -> Просмотр истории надежности -> Просмотр всех отчетов о проблемах, затем нажмите кнопку Очистить все сообщения о проблемах.

отчёты о проделанной работе

Чтобы быстро освободить место на диске, вы можете вручную удалить файлы отладки и журналы, создаваемые службой WER, в следующих папках:

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

Следующие команды PowerShell удалят все файлы старше 30 дней из каталогов WER:

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 Error Reporting на Windows Server

На Windows Server 2019/2016/2012R2 можно управлять состоянием службы WER с помощью PowerShell. Вы можете отключить службу Windows Error Reporting:

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

Отключить WER в Windows можно с помощью встроенного средства WindowsErrorReporting Модуль PowerShell:

Get-Command -Module WindowsErrorReporting

Модуль WindowsErrorReporting powershell

Проверить состояние службы Windows Error Reporting можно с помощью команды:

Get-WindowsErrorReporting

Чтобы отключить WER, выполните команду:

Disable-WindowsErrorReporting

Disable-WindowsErrorReporting powershell cmdlet

В Windows Server 2012 R2 можно отключить отчет об ошибках Windows через панель управления (Панель управления -> Система и безопасность -> Центр действий -> Обслуживание -> Настройки -> выберите Я не хочу участвовать, и не спрашивайте меня больше.

отключить отчет об ошибках windows - windows server 2012r2

Как отключить или включить отчет об ошибках в Windows 10

В Windows 10 вы не можете отключить отчет об ошибках через панель управления. Вы можете проверить состояние компонента в Панели управления -> Система и безопасность -> Безопасность и обслуживание -> Техническое обслуживание. Как вы можете видеть, в Сообщить о проблемах параметр включен.

report-problems-enabled-windows10

Вы можете отключить отчет об ошибках Windows в Windows 10 через реестр. Для этого создайте новый параметр DWORD (32-бит) с именем Disabled и значение 1 под ключом реестра HKLM\SOFTWARE\Microsoft\Windows\Windows Error Reporting.

Вы можете отключить сбор ошибок 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 Error Reporting в windows 10 через реестр

Теперь давайте проверим состояние Сообщить о проблемах снова выберите параметр в Панели управления. Он должен быть Выключено.

проблемы с отключением сообщений

Этот параметр реестра можно развернуть на компьютерах домена с помощью GPO.

Как отключить автоматическое создание отчетов об ошибках Windows с помощью GPO

Вы можете отключить ведение журнала службой Windows Error Reporting с помощью групповой политики. Откройте локальную (gpedit.msc) или GPO домена (gpmc.msc) редактора и перейдите к следующему разделу GPO Конфигурация компьютера -> Административные шаблоны -> Компоненты Windows -> Отчеты об ошибках Windows. Найдите политику с именем Отключить отчет об ошибках Windows и установите значение Включено. Это отключит сбор данных Windows и создание отчетов об ошибках.

Аналогичная политика есть в разделе Конфигурация пользователя.

Отключить отчет об ошибках Windows - GPO

Обновите параметры GPO (перезагрузка не требуется).

В результате Windows больше не будет генерировать сообщения об ошибках приложений и системы и не будет отправлять их в Microsoft.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *