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

วิธีล้างบันทึกเหตุการณ์ของ Windows โดยใช้ PowerShell หรือ Wevtutil

ในบางกรณี จำเป็นต้องลบรายการทั้งหมดออกจากบันทึกเหตุการณ์ของ Windows บนคอมพิวเตอร์หรือเซิร์ฟเวอร์ แน่นอน คุณสามารถล้างบันทึกของระบบจากคอนโซลตัวแสดงเหตุการณ์ GUI—  Eventvwr.msc (คลิกขวาที่บันทึกที่คุณต้องการล้างและเลือก ล้างบันทึก ). อย่างไรก็ตาม ตั้งแต่ Vista เป็นต้นไป Windows ได้ใช้บันทึกหลายสิบรายการสำหรับส่วนประกอบระบบที่แตกต่างกัน และการล้างข้อมูลทั้งหมดด้วยตนเองใน Event Viewer นั้นใช้เวลานาน การล้างบันทึกจากพรอมต์คำสั่งทำได้ง่ายกว่ามาก:ใช้ PowerShell หรือเครื่องมือคอนโซลในตัว wevtutil .

วิธีล้างบันทึกเหตุการณ์ของ Windows โดยใช้ PowerShell หรือ Wevtutil

การล้างบันทึกเหตุการณ์ด้วย PowerShell

หากคุณติดตั้ง PowerShell 3 (โดยค่าเริ่มต้น จะติดตั้งใน Windows 8 / Windows Server ขึ้นไป) คุณสามารถใช้ Get-EventLog และ ล้างบันทึกเหตุการณ์ cmdlets เพื่อรับรายการบันทึกเหตุการณ์และล้างข้อมูลเหล่านั้น

เริ่มคอนโซล PowerShell ด้วยสิทธิ์ของผู้ดูแลระบบ และใช้คำสั่งต่อไปนี้แสดงรายการบันทึกเหตุการณ์มาตรฐานทั้งหมดในระบบโดยมีขนาดสูงสุดและจำนวนเหตุการณ์

Get-EventLog –LogName *

วิธีล้างบันทึกเหตุการณ์ของ Windows โดยใช้ PowerShell หรือ Wevtutil

หากต้องการล้างรายการทั้งหมดจากบันทึกเหตุการณ์เฉพาะ (เช่น บันทึกระบบ) ให้ใช้คำสั่งนี้:

Clear-EventLog –LogName System

ด้วยเหตุนี้ กิจกรรมทั้งหมดของบันทึกนี้จะถูกลบ และจะมีเพียงกิจกรรมเดียวที่มี EventId 104 และข้อความ “ไฟล์บันทึกของระบบถูกล้าง .

วิธีล้างบันทึกเหตุการณ์ของ Windows โดยใช้ PowerShell หรือ Wevtutil

ในการล้างบันทึกเหตุการณ์ทั้งหมด คุณต้องเปลี่ยนเส้นทางชื่อบันทึกไปยังไปป์ไลน์ แต่น่าเสียดายที่มันถูกห้าม ดังนั้น เราจะต้องใช้วงจร ForEach:

Get-EventLog -LogName * | ForEach { Clear-EventLog $_.Log }

ดังนั้น บันทึกเหตุการณ์มาตรฐานทั้งหมดจะถูกล้าง

การล้างบันทึกโดยใช้เครื่องมือคอนโซล WevtUtil.exe

ในการทำงานกับเหตุการณ์ต่างๆ เป็นเวลานานใน Windows มียูทิลิตี้พร้อมรับคำสั่งที่มีประสิทธิภาพ WevtUtil.exe . ไวยากรณ์ของมันค่อนข้างซับซ้อนในครั้งแรก ตัวอย่างเช่น ที่ส่งคืนความช่วยเหลือด้านสาธารณูปโภค:

วิธีล้างบันทึกเหตุการณ์ของ Windows โดยใช้ PowerShell หรือ Wevtutil

หากต้องการแสดงรายการบันทึกที่ลงทะเบียนในระบบ ให้รันคำสั่งนี้:

WevtUtil enum-logs
หรือเวอร์ชันที่สั้นกว่า:

WevtUtil el

รายการบันทึกที่น่าประทับใจจะปรากฏขึ้นบนหน้าจอ

หมายเหตุ . คุณสามารถนับจำนวนบันทึกได้โดยใช้คำสั่งต่อไปนี้:WevtUtil el |Measure-Object ในกรณีของฉันมีบันทึกที่แตกต่างกัน 1,053 รายการใน Windows 10

วิธีล้างบันทึกเหตุการณ์ของ Windows โดยใช้ PowerShell หรือ Wevtutil

คุณสามารถรับข้อมูลโดยละเอียดเกี่ยวกับบันทึกเฉพาะ:

WevtUtil gl Setup

วิธีล้างบันทึกเหตุการณ์ของ Windows โดยใช้ PowerShell หรือ Wevtutil

นี่คือวิธีที่คุณล้างเหตุการณ์ในบันทึกเฉพาะ:

WevtUtil cl Setup

ก่อนที่คุณจะล้างกิจกรรม คุณสามารถสำรองข้อมูลได้โดยบันทึกเป็นไฟล์:

WevtUtil cl Setup /bu:SetupLog_Bak.evtx

หากต้องการล้างบันทึกทั้งหมดในครั้งเดียว คุณสามารถใช้ Get-WinEvent PowerShell cmdlet เพื่อรับวัตถุบันทึกทั้งหมดและ Wevtutil.exe เพื่อล้าง:

Get-WinEvent -ListLog * -Force | % { Wevtutil.exe cl $_.LogName }

หรือ

Wevtutil el | ForEach { wevtutil cl “$_”}

หมายเหตุ . ในตัวอย่างของเรา ฉันไม่สามารถล้างบันทึกได้ 3 รายการเนื่องจากข้อผิดพลาดในการเข้าถึง คุณควรลองล้างข้อมูลโดยใช้ Event Viewer

วิธีล้างบันทึกเหตุการณ์ของ Windows โดยใช้ PowerShell หรือ Wevtutil

คุณสามารถล้างบันทึกโดยใช้พรอมต์คำสั่งมาตรฐานเช่นกัน:

for /F "tokens=*" %1 in ('wevtutil.exe el') DO wevtutil.exe cl "%1"