Dịch vụ báo cáo lỗi Windows (WER) được sử dụng để thu thập thông tin gỡ lỗi về lỗi hệ thống và ứng dụng của bên thứ ba, đồng thời gửi báo cáo lỗi đến máy chủ Microsoft. Thông tin này sẽ được MSFT phân tích và nếu có giải pháp, nó sẽ được gửi đến người dùng thông qua Phản hồi báo cáo lỗi của Windows. Trên thực tế, ít người sử dụng tính năng này, mặc dù Microsoft luôn để mặc định bật dịch vụ WER trong các phiên bản Windows mới nhất. Trong hầu hết các trường hợp, mọi người nhớ về WER khi họ nhìn thấy C:\ ProgramData \ Microsoft \ Windows \ WER \ ReportQueue \ chiếm nhiều dung lượng trên ổ đĩa hệ thống (lên đến vài chục GB) mặc dù tính năng nén NTFS được bật cho thư mục này theo mặc định.
Nội dung:
- Dịch vụ báo cáo lỗi của Windows
- Cách xóa thư mục WER \ ReportQueue trên Windows?
- Tắt báo cáo lỗi Windows trên Windows Server
- Cách tắt hoặc bật báo cáo lỗi trên Windows 10?
- Cách tắt báo cáo lỗi Windows tự động qua GPO?
Dịch vụ Báo cáo Lỗi Windows
Báo cáo lỗi Windows hiển thị hộp thoại khi xảy ra lỗi ứng dụng, nhắc bạn gửi báo cáo lỗi cho Microsoft. Khi bạn thấy “YourAppName.exe has stopped working, Windows is collecting more information about the problem
”Thông báo lỗi trong Windows, dịch vụ Báo cáo Lỗi Windows chạy công cụ WerFault.exe để thu thập dữ liệu gỡ lỗi (có thể bao gồm một kết xuất bộ nhớ).
Dữ liệu người dùng được lưu vào hồ sơ người dùng:
%USERPROFILE%\AppData\Local\Microsoft\Windows\WER\
Và dữ liệu hệ thống chuyển đến thư mục ProgramData:
%ALLUSERSPROFILE%\Microsoft\Windows\WER\
Dịch vụ Báo cáo Lỗi Windows là một dịch vụ Windows riêng biệt. Bạn có thể kiểm tra trạng thái của dịch vụ bằng lệnh PowerShell:
Get-Service WerSvc
Trong thư mục WER \ ReportQueue \ có rất nhiều thư mục có tên ở định dạng sau:
- 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
Như bạn có thể thấy, tên thư mục chứa mức độ nghiêm trọng của sự kiện và tên của tệp EXE cụ thể đã bị lỗi. Trong tất cả các thư mục, có một tệp được gọi là Report.wer , trong đó có mô tả về các lỗi và một số tệp với thông tin bổ sung.
Cách xóa thư mục WER \ ReportQueue trên Windows?
Thông thường, kích thước của mỗi thư mục nhỏ, nhưng trong một số trường hợp, kết xuất bộ nhớ được tạo ra cho một quá trình có vấn đề chiếm nhiều dung lượng. Ảnh chụp màn hình bên dưới cho thấy kích thước của memory.hdmp là khoảng 610 MB. Một vài kết xuất như vậy có thể chiếm vài gigabyte trên ổ đĩa hệ thống.
Để xóa tất cả các lỗi và nhật ký này bằng các công cụ tích hợp, hãy mở Bảng điều khiển và đi tới Hệ thống và bảo mật -> Bảo mật và bảo trì -> Bảo trì -> Xem lịch sử độ tin cậy -> Xem tất cả báo cáo sự cố, sau đó nhấp vào Xóa tất cả các báo cáo sự cố .
Để nhanh chóng giải phóng một số dung lượng ổ đĩa, bạn có thể xóa thủ công các tệp nhật ký và gỡ lỗi được tạo bởi dịch vụ WER trong các thư mục sau:
- C:\ ProgramData \ Microsoft \ Windows \ WER \ ReportArchive \
- C:\ ProgramData \ Microsoft \ Windows \ WER \ ReportQueue \
Các lệnh PowerShell sau sẽ xóa tất cả các tệp cũ hơn 30 ngày khỏi thư mục 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
Để xóa các thư mục WER trong tất cả hồ sơ người dùng, hãy sử dụng tập lệnh PowerShell sau:
$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
}
Tắt báo cáo lỗi Windows trên Windows Server
Trên Windows Server 2019/2016 / 2012R2, bạn có thể quản lý trạng thái dịch vụ WER bằng PowerShell. Bạn có thể tắt dịch vụ báo cáo lỗi của Windows:
Get-Service WerSvc| stop-service –passthru -force
Set-Service WerSvc –startuptype manual –passthru
Nhưng có nhiều cách tốt hơn để tắt WER trên Windows. Phiên bản PowerShell 4.0 thêm một mô-đun WindowsErrorReporting riêng biệt:
Get-Command -Module WindowsErrorReporting
Bạn có thể kiểm tra trạng thái của dịch vụ Báo cáo lỗi Windows bằng lệnh:
Get-WindowsErrorReporting
Để tắt WER, hãy chạy:
Disable-WindowsErrorReporting
Trên Windows Server 2012 R2, bạn có thể tắt Báo cáo lỗi Windows thông qua bảng điều khiển (Bảng điều khiển -> Hệ thống và bảo mật -> Trung tâm hành động -> Bảo trì -> Cài đặt -> chọn Tôi không muốn tham gia và không tham gia ' t hỏi lại tôi .
Cách tắt hoặc bật báo cáo lỗi trên Windows 10?
Trong Windows 10, bạn không thể vô hiệu hóa Báo cáo lỗi thông qua Bảng điều khiển. Bạn có thể kiểm tra trạng thái thành phần trong Bảng điều khiển -> Hệ thống &Bảo mật -> Bảo mật và Bảo trì -> Bảo trì . Như bạn có thể thấy, phần Báo cáo sự cố tham số được bật.
Bạn có thể tắt Báo cáo lỗi Windows trên Windows 10 thông qua sổ đăng ký. Để thực hiện, hãy tạo một tham số DWORD (32-bit) mới với tên Đã tắt và giá trị 1 trong khóa đăng ký HKLM \ SOFTWARE \ Microsoft \ Windows \ Windows Báo cáo lỗi.
Bạn có thể tắt tính năng thu thập lỗi của Windows cho người dùng cụ thể bằng lệnh:
reg add "HKCU\Software\Microsoft\Windows\Windows Error Reporting" /v "Disabled" /t REG_DWORD /d "1" /f
Hoặc tắt WER cho mọi người:
reg add "HKLM\Software\Microsoft\Windows\Windows Error Reporting" /v "Disabled" /t REG_DWORD /d "1" /f
Bây giờ, hãy kiểm tra trạng thái của Báo cáo sự cố trong Control Panel một lần nữa. Nó phải được Tắt .
Bạn có thể triển khai tham số đăng ký này cho các máy tính miền thông qua GPO.
Cách tắt báo cáo lỗi Windows tự động qua GPO?
Bạn có thể tắt ghi nhật ký bằng dịch vụ Báo cáo Lỗi của Windows thông qua Chính sách Nhóm. Mở cục bộ (gpedit.msc
) hoặc GPO miền (gpmc.msc
) và chuyển đến phần GPO sau Cấu hình máy tính -> Mẫu quản trị -> Cấu phần Windows -> Báo cáo lỗi Windows . Tìm chính sách có tên Tắt báo cáo lỗi Windows và đặt nó thành Đã bật . Điều này sẽ tắt tính năng thu thập dữ liệu của Windows và báo cáo lỗi.
Cập nhật cài đặt GPO (không cần khởi động lại).
Do đó, Windows sẽ không tạo ra các thông báo lỗi ứng dụng và hệ thống nữa và sẽ không được gửi đến Microsoft nữa.