Menghapus log peristiwa Windows dengan PowerShell dan wevtutil

Dalam beberapa kasus, Anda ingin menghapus semua entri di log peristiwa Windows di komputer atau server. Tentu saja, membersihkan log sistem juga dapat dilakukan dari snap-in grafis snap-in. -  Eventvwr.msc (RMB pada log yang diinginkan -> Clear Log), namun, mulai dari Vista, Windows menggunakan beberapa lusin log untuk berbagai komponen sistem, dan menghapus semuanya dari konsol Peraga Peristiwa akan sangat membosankan. Jauh lebih mudah untuk menghapus log dari baris perintah: menggunakan PowerShell atau utilitas bawaan wevtutil.

Konten:

  • Menghapus log peristiwa dengan PowerShell
  • Menghapus log menggunakan utilitas konsol WevtUtil.exe

Menghapus log peristiwa dengan PowerShell

Jika Anda menginstal PowerShell 3 (secara default sudah terinstal di Windows 8 / Windows Server 2012 dan lebih tinggi), Anda dapat menggunakan cmdlet untuk mendapatkan daftar log dan membersihkannya Dapatkan-eventlog dan Bersihkan eventlog.

Mulai konsol PowerShell dengan hak administrator dan gunakan perintah berikut untuk mendaftar semua log peristiwa klasik di sistem dengan ukuran maksimum dan jumlah acara di dalamnya.

Dapatkan-EventLog -LogName *

Untuk menghapus semua peristiwa dari log peristiwa tertentu (misalnya, log Sistem), gunakan perintah:

Hapus-EventLog -LogName System

Akibatnya, semua peristiwa dari log ini akan dihapus, dan hanya satu peristiwa EventId akan tetap ada di log peristiwa 104 dengan teks "File log sistem telah dihapus".

Untuk menghapus semua log peristiwa, Anda harus mengarahkan nama log ke pipa, namun sayangnya hal ini dilarang. Karena itu, kita harus menggunakan loop ForEach:

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

Dengan cara ini semua log EventLogs klasik akan dihapus..

Menghapus log menggunakan utilitas konsol WevtUtil.exe

Untuk bekerja dengan acara di Windows, utilitas baris perintah yang kuat telah tersedia untuk beberapa waktu. Wevtutil.exe. Sintaksnya sedikit rumit pada pandangan pertama. Di sini, misalnya, adalah apa utilitas bantuan kembali:

Untuk daftar log peristiwa yang terdaftar di sistem, jalankan perintah:

WevtUtil enum-log

atau opsi yang lebih pendek:

Kita menggunakan el

Daftar majalah yang cukup mengesankan akan ditampilkan di layar..

Catatan. Anda dapat menghitung jumlah mereka menggunakan perintah WevtUtil el | Measure-Object. Dalam kasus saya, ada 1.053 log berbeda di Windows 10).

Anda dapat memperoleh informasi lebih rinci tentang majalah tertentu:

Pengaturan WevtUtil gl

Pembersihan acara dalam log tertentu dilakukan sebagai berikut:

Pengaturan WevtUtil cl

Sebelum membersihkan, Anda dapat membuat cadangan acara di log dengan menyimpannya ke file:

WevtUtil cl Setup /bu:SetupLog_Bak.evtx

Untuk menghapus semua log sekaligus, Anda dapat menggunakan cmdlet Powershell Dapatkan-WinEvent untuk mendapatkan semua objek log dan Wevtutil.exe untuk membersihkannya:

Dapatkan-WinEvent -ListLog * -Force | % Wevtutil.exe cl $ _. LogName

atau lebih

Wevtutil el | ForEach wevtutil cl “$ _”

Catatan.  Dalam contoh kami, 3 log tidak dapat dihapus karena kesalahan akses. Sebaiknya coba hapus konten log ini dari konsol Peraga Peristiwa..

Pembersihan log juga dapat dilakukan dari baris perintah klasik:

untuk / F "token = *"% 1 di ('wevtutil.exe el') LAKUKAN wevtutil.exe cl "% 1"