จะปิดการรายงานข้อผิดพลาดของ Windows และล้างโฟลเดอร์ WERReportQueue บน Windows ได้อย่างไร
บริการรายงานข้อผิดพลาดของ Windows (WER) ใช้เพื่อรวบรวมข้อมูลการแก้ปัญหาเกี่ยวกับความล้มเหลวของระบบและแอปของบุคคลที่สาม และส่งรายงานข้อผิดพลาดไปยังเซิร์ฟเวอร์ของ Microsoft ข้อมูลนี้ควรได้รับการวิเคราะห์โดย MSFT และหากมีวิธีแก้ไข ข้อมูลจะถูกส่งไปยังผู้ใช้ผ่าน Windows Error Reporting Response อันที่จริง มีเพียงไม่กี่คนที่ใช้คุณสมบัตินี้ แม้ว่า Microsoft จะปล่อยให้บริการ WER เปิดใช้งานตามค่าเริ่มต้นใน Windows เวอร์ชันล่าสุดเสมอ ในกรณีส่วนใหญ่ ผู้คนมักนึกถึง WER เมื่อเห็นว่า C:\ProgramData\Microsoft\Windows\WER\ReportQueue\ ใช้พื้นที่มากในไดรฟ์ระบบ (มากถึงหลายสิบ GB) แม้ว่าจะเป็น NTFS การบีบอัดถูกเปิดใช้งานสำหรับไดเร็กทอรีนี้เป็นค่าเริ่มต้น
บริการรายงานข้อผิดพลาดของ Windows
การรายงานข้อผิดพลาดของ Windows จะแสดงกล่องโต้ตอบเมื่อเกิดข้อผิดพลาดของแอปพลิเคชัน แจ้งให้คุณส่งรายงานข้อผิดพลาดไปยัง Microsoft เมื่อคุณเห็น “
YourAppName.exe has stopped working, Windows is collecting more information about the problem” ข้อความแสดงข้อผิดพลาดใน Windows บริการรายงานข้อผิดพลาดของ Windows จะเรียกใช้เครื่องมือ WerFault.exe เพื่อรวบรวมข้อมูลการดีบัก (อาจรวมถึงการถ่ายโอนข้อมูลหน่วยความจำ)
ข้อมูลผู้ใช้จะถูกบันทึกไว้ในโปรไฟล์ผู้ใช้:
%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 ซึ่งมีคำอธิบายข้อผิดพลาดและบางไฟล์ที่มีข้อมูลเพิ่มเติม
จะล้างโฟลเดอร์ WER\ReportQueue บน Windows ได้อย่างไร
โดยทั่วไป ขนาดของแต่ละโฟลเดอร์จะมีขนาดเล็ก แต่ในบางกรณี ดัมพ์หน่วยความจำจะถูกสร้างขึ้นสำหรับกระบวนการปัญหาที่ใช้พื้นที่มาก ภาพหน้าจอด้านล่างแสดงให้เห็นว่าขนาดของ memory.hdmp อยู่ที่ประมาณ 610 MB การถ่ายโอนข้อมูลดังกล่าวสองสามรายการสามารถใช้พื้นที่หลายกิกะไบต์ในไดรฟ์ระบบ
หากต้องการล้างข้อผิดพลาดและบันทึกเหล่านี้ทั้งหมดโดยใช้เครื่องมือในตัว ให้เปิดแผงควบคุมแล้วไปที่ระบบและความปลอดภัย -> ความปลอดภัยและการบำรุงรักษา -> การบำรุงรักษา -> ดูประวัติความน่าเชื่อถือ -> ดูรายงานปัญหาทั้งหมด จากนั้นคลิกล้าง รายงานปัญหาทั้งหมด
หากต้องการเพิ่มพื้นที่ว่างในดิสก์อย่างรวดเร็ว คุณสามารถลบดีบักและไฟล์บันทึกที่สร้างโดยบริการ 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 บน Windows Server
บน Windows Server 2019/2016/2012R2 คุณสามารถจัดการสถานะบริการ WER โดยใช้ PowerShell คุณสามารถปิดใช้งานบริการรายงานข้อผิดพลาดของ Windows:
Get-Service WerSvc| stop-service -passthru -force
Set-Service WerSvc -startuptype manual -passthru
แต่มีวิธีที่ดีกว่าในการปิดใช้งาน WER บน Windows PowerShell เวอร์ชัน 4.0 เพิ่มโมดูล WindowsErrorReporting แยกต่างหาก:
Get-Command -Module WindowsErrorReportingคุณสามารถตรวจสอบสถานะของบริการ Windows Error Reporting ได้ด้วยคำสั่ง:
Get-WindowsErrorReportingหากต้องการปิดใช้งาน WER ให้เรียกใช้:
Disable-WindowsErrorReportingบน Windows Server 2012 R2 คุณสามารถปิดใช้งานการรายงานข้อผิดพลาดของ Windows ผ่านแผงควบคุม (แผงควบคุม -> ระบบและความปลอดภัย -> ศูนย์ปฏิบัติการ -> การบำรุงรักษา -> การตั้งค่า -> เลือก ฉันไม่ต้องการเข้าร่วม และอย่า' อย่าถามฉันอีก
จะปิดหรือเปิดใช้การรายงานข้อผิดพลาดใน Windows 10 ได้อย่างไร
ใน Windows 10 คุณไม่สามารถปิดใช้งานการรายงานข้อผิดพลาดผ่านแผงควบคุมได้ คุณสามารถตรวจสอบสถานะส่วนประกอบได้ในแผงควบคุม -> ระบบและความปลอดภัย -> ความปลอดภัยและการบำรุงรักษา -> การบำรุงรักษา อย่างที่คุณเห็น พารามิเตอร์ รายงานปัญหา เปิดใช้งานอยู่
คุณสามารถปิดใช้งานการรายงานข้อผิดพลาดของ Windows บน Windows 10 ผ่านทางรีจิสทรี ในการดำเนินการนี้ ให้สร้างพารามิเตอร์ DWORD (32 บิต) ใหม่ที่มีชื่อ ปิดใช้งาน และค่า 1 ภายใต้คีย์รีจิสทรี HKLM\SOFTWARE\Microsoft\Windows \การรายงานข้อผิดพลาดของ Windows
คุณสามารถปิดใช้งานการรวบรวมข้อผิดพลาดของ 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ตอนนี้ให้ตรวจสอบสถานะของพารามิเตอร์ รายงานปัญหา ในแผงควบคุมอีกครั้ง ควรเป็น ปิด
คุณสามารถปรับใช้พารามิเตอร์รีจิสทรีนี้กับคอมพิวเตอร์โดเมนผ่าน GPO
จะปิดการรายงานข้อผิดพลาดของ Windows อัตโนมัติผ่าน GPO ได้อย่างไร
คุณสามารถปิดใช้งานการบันทึกโดยบริการรายงานข้อผิดพลาดของ Windows ผ่าน Group Policy เปิดท้องถิ่น (
gpedit.msc) หรือโดเมน GPO (
gpmc.msc) และไปที่ส่วน GPO ต่อไปนี้ การกำหนดค่าคอมพิวเตอร์ -> เทมเพลตการดูแลระบบ -> ส่วนประกอบของ Windows -> การรายงานข้อผิดพลาดของ Windows ค้นหานโยบายชื่อ ปิดใช้งานการรายงานข้อผิดพลาดของ Windows และตั้งค่าเป็น เปิดใช้งาน การดำเนินการนี้จะปิดใช้งานการรวบรวมข้อมูลของ Windows และการรายงานข้อผิดพลาด
มีนโยบายที่คล้ายกันในส่วนการกำหนดค่าผู้ใช้
อัปเดตการตั้งค่า GPO (ไม่ต้องรีบูต)
ด้วยเหตุนี้ Windows จะไม่สร้างข้อความแสดงข้อผิดพลาดของแอปพลิเคชันและระบบอีกต่อไป และจะไม่ถูกส่งไปยัง Microsoft อีกต่อไป










