Computer >> คอมพิวเตอร์ >  >> ระบบ >> Windows Server

วิธีปิดใช้งานการรายงานข้อผิดพลาดของ Windows และล้างโฟลเดอร์ WER\ReportQueue บน Windows

บริการรายงานข้อผิดพลาดของ Windows (WER) ใช้เพื่อรวบรวมข้อมูลการดีบักเกี่ยวกับความล้มเหลวของระบบและแอปของบริษัทอื่น และส่งรายงานข้อผิดพลาดไปยังเซิร์ฟเวอร์ของ Microsoft ข้อมูลนี้ควรได้รับการวิเคราะห์โดย MSFT และหากมีวิธีแก้ไข ข้อมูลดังกล่าวจะถูกส่งไปยังผู้ใช้ผ่าน Windows Error Reporting Response อันที่จริง มีเพียงไม่กี่คนที่ใช้คุณลักษณะนี้ แม้ว่า Microsoft จะปล่อยให้บริการ WER เปิดใช้งานตามค่าเริ่มต้นใน Windows เวอร์ชันล่าสุดเสมอ ในกรณีส่วนใหญ่ ผู้คนจะจำ WER ได้เมื่อเห็นว่า C:\ProgramData\Microsoft\Windows\WER\ReportQueue\ ใช้พื้นที่มากในไดรฟ์ระบบ (มากถึงหลายสิบ GB) แม้ว่าจะเปิดใช้งานการบีบอัด NTFS สำหรับไดเร็กทอรีนี้โดยค่าเริ่มต้น

สารบัญ:

  • บริการรายงานข้อผิดพลาดของ Windows
  • จะล้างโฟลเดอร์ WER\ReportQueue บน Windows ได้อย่างไร
  • ปิดใช้งานการรายงานข้อผิดพลาดของ Windows บน Windows Server
  • จะปิดการใช้งานหรือเปิดใช้งานการรายงานข้อผิดพลาดใน Windows 10 ได้อย่างไร
  • จะปิดการใช้งานการรายงานข้อผิดพลาดของ Windows อัตโนมัติผ่าน GPO ได้อย่างไร

วิธีปิดใช้งานการรายงานข้อผิดพลาดของ Windows และล้างโฟลเดอร์ WER\ReportQueue บน Windows

บริการรายงานข้อผิดพลาดของ Windows

การรายงานข้อผิดพลาดของ Windows แสดงกล่องโต้ตอบเมื่อเกิดข้อผิดพลาดของแอปพลิเคชัน โดยแจ้งให้คุณส่งรายงานข้อผิดพลาดไปยัง Microsoft เมื่อคุณเห็น “YourAppName.exe has stopped working, Windows is collecting more information about the problem ” ข้อความแสดงข้อผิดพลาดใน Windows บริการรายงานข้อผิดพลาดของ Windows เรียกใช้เครื่องมือ WerFault.exe เพื่อรวบรวมข้อมูลการดีบัก (อาจมีการถ่ายโอนข้อมูลหน่วยความจำ)

วิธีปิดใช้งานการรายงานข้อผิดพลาดของ Windows และล้างโฟลเดอร์ WER\ReportQueue บน Windows

ข้อมูลผู้ใช้ถูกบันทึกไว้ในโปรไฟล์ผู้ใช้:

%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. การถ่ายโอนข้อมูลสองสามครั้งสามารถครอบครองหลายกิกะไบต์บนไดรฟ์ระบบ

วิธีปิดใช้งานการรายงานข้อผิดพลาดของ Windows และล้างโฟลเดอร์ WER\ReportQueue บน Windows

หากต้องการล้างข้อผิดพลาดและบันทึกทั้งหมดโดยใช้เครื่องมือในตัว ให้เปิดแผงควบคุมและไปที่ระบบและความปลอดภัย -> ความปลอดภัยและการบำรุงรักษา -> การบำรุงรักษา -> ดูประวัติความน่าเชื่อถือ -> ดูรายงานปัญหาทั้งหมด จากนั้นคลิก ล้าง รายงานปัญหาทั้งหมด .

วิธีปิดใช้งานการรายงานข้อผิดพลาดของ Windows และล้างโฟลเดอร์ WER\ReportQueue บน Windows

หากต้องการเพิ่มพื้นที่ว่างในดิสก์อย่างรวดเร็ว คุณสามารถลบไฟล์ดีบักและบันทึกที่สร้างโดยบริการ 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 และล้างโฟลเดอร์ WER\ReportQueue บน Windows

คุณสามารถตรวจสอบสถานะของบริการ Windows Error Reporting ได้ด้วยคำสั่ง:

Get-WindowsErrorReporting

หากต้องการปิดใช้งาน WER ให้เรียกใช้:

Disable-WindowsErrorReporting

วิธีปิดใช้งานการรายงานข้อผิดพลาดของ Windows และล้างโฟลเดอร์ WER\ReportQueue บน Windows

ใน Windows Server 2012 R2 คุณสามารถปิดใช้งานการรายงานข้อผิดพลาดของ Windows ผ่านแผงควบคุม (แผงควบคุม -> ระบบและความปลอดภัย -> ศูนย์ปฏิบัติการ -> การบำรุงรักษา -> การตั้งค่า -> เลือก ฉันไม่ต้องการเข้าร่วม และไม่ ไม่ถามอีก

วิธีปิดใช้งานการรายงานข้อผิดพลาดของ Windows และล้างโฟลเดอร์ WER\ReportQueue บน Windows

จะปิดการใช้งานหรือเปิดใช้งานการรายงานข้อผิดพลาดใน Windows 10 ได้อย่างไร

ใน Windows 10 คุณไม่สามารถปิดใช้งานการรายงานข้อผิดพลาดผ่านแผงควบคุมได้ คุณสามารถตรวจสอบสถานะส่วนประกอบได้ในแผงควบคุม -> ระบบและความปลอดภัย -> การรักษาความปลอดภัยและการบำรุงรักษา -> การบำรุงรักษา . อย่างที่คุณเห็น รายงานปัญหา เปิดใช้งานพารามิเตอร์แล้ว

วิธีปิดใช้งานการรายงานข้อผิดพลาดของ Windows และล้างโฟลเดอร์ WER\ReportQueue บน Windows

คุณสามารถปิดการใช้งาน Windows Error Reporting บน 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 และล้างโฟลเดอร์ WER\ReportQueue บน Windows

ตอนนี้ มาตรวจสอบสถานะของรายงานปัญหา พารามิเตอร์ในแผงควบคุมอีกครั้ง ควร ปิด .

วิธีปิดใช้งานการรายงานข้อผิดพลาดของ Windows และล้างโฟลเดอร์ WER\ReportQueue บน Windows

คุณสามารถปรับใช้พารามิเตอร์รีจิสทรีนี้กับคอมพิวเตอร์โดเมนผ่าน GPO

จะปิดใช้งานการรายงานข้อผิดพลาดของ Windows อัตโนมัติผ่าน GPO ได้อย่างไร

คุณสามารถปิดใช้งานการบันทึกโดยบริการรายงานข้อผิดพลาดของ Windows ผ่านนโยบายกลุ่ม เปิดเครื่อง (gpedit.msc ) หรือโดเมน GPO (gpmc.msc ) แก้ไขและไปที่ส่วน GPO ต่อไปนี้ การกำหนดค่าคอมพิวเตอร์ -> เทมเพลตการดูแล -> ส่วนประกอบของ Windows -> การรายงานข้อผิดพลาดของ Windows . ค้นหานโยบายชื่อ ปิดใช้งานการรายงานข้อผิดพลาดของ Windows และตั้งค่าเป็น เปิดใช้งาน . การดำเนินการนี้จะปิดใช้งานการรวบรวมข้อมูลของ Windows และการรายงานข้อผิดพลาด

มีนโยบายที่คล้ายกันในส่วนการกำหนดค่าผู้ใช้

วิธีปิดใช้งานการรายงานข้อผิดพลาดของ Windows และล้างโฟลเดอร์ WER\ReportQueue บน Windows

อัปเดตการตั้งค่า GPO (ไม่ต้องรีบูต)

ด้วยเหตุนี้ Windows จะไม่สร้างแอปพลิเคชันและข้อความแสดงข้อผิดพลาดของระบบอีกต่อไป และจะไม่ถูกส่งไปยัง Microsoft อีกต่อไป