PowerShell veya Wevtutil'i Kullanarak Windows Olay Günlüklerini Temizleme Nasıl Yapılır?

PowerShell veya Wevtutil'i Kullanarak Windows Olay Günlüklerini Temizleme Nasıl Yapılır?

Merhaba Arkadaşlar ;


Bazı durumlarda tüm girdileri bir bilgisayarda veya sunucuda Windows olay günlüklerinden silmek gerekir. Elbette sistem günlüğünü Olay Görüntüleyici konsolu GUI-Eventvwr.msc'den temizleyebilirsiniz (Temizlemek istediğiniz günlüğü sağ tıklayın ve Günlüğü Temizle'yi seçin ). Bununla birlikte, Vista ile başlayarak, Windows farklı sistem bileşenleri için birkaç düzinelerce günlük kullanıyor ve hepsini Olay Görüntüleyicisi'nde el ile temizlemek zaman alıyor. Günlükleri komut satırından silmek çok daha kolaydır: PowerShell'i veya yerleşik konsol aracı wevtutil'i kullanarak.


PowerShell ile Olay Günlüklerini Temizleme

PowerShell 3'ü yüklediyseniz (varsayılan olarak Windows 8 / Windows Server ve sonraki sürümlerde yüklenir), olay günlüklerinin listesini almak ve bunları temizlemek için Get-EventLog ve Clear-EventLog cmdlet'lerini kullanabilirsiniz.

PowerShell konsolunu yönetici ayrıcalıklarıyla başlatın ve aşağıdaki komutu kullanarak, sistemdeki tüm standart olay günlüklerinin listesini maksimum boyut ve olay sayısı ile görüntüleyin.

" Get-EventLog –LogName * "


Belirli olay günlüğünden (örneğin, Sistem günlüğü) tüm girdileri temizlemek için şu komutu kullanın:

" Clear-EventLog –LogName System "

Sonuç olarak, bu günlükteki tüm olaylar silinecek ve yalnızca EventId 104 ile bir olay olacak ve " Sistem günlüğü dosyası silindi " mesajı görüntülenecektir.


Tüm olay günlüklerini silmek için, kayıt adlarını boru hattına yönlendirmeniz gerekir, ancak maalesef yasaklanmıştır. Dolayısıyla, ForEach döngüsünü kullanmamız gerekecek:

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

Böylece, tüm standart olay günlükleri temizlenir.

Günlükleri Temizleme Konsol aracını kullanarak WevtUtil.exe yapma

Olaylarla çalışmak için, Windows'da uzun süre güçlü bir komut istemi yardımcı programı olan WevtUtil.exe olmuştur . Söz dizimi, ilk görüşte biraz karmaşıktır. Burada, örneğin, yardımcı programların yardımını döndürür:


Sistemde kayıtlı olan günlüklerin listesini görüntülemek için şu komutu çalıştırın:

" WevtUtil enum-logs "

veya daha kısa komutu

" WevtUtil el "

Ekranda oldukça etkileyici bir günlük listesi görüntülenir.


Belirli günlük hakkında ayrıntılı bilgi alabilirsiniz:

" WevtUtil gl Setup "


İşte belirli günlükteki olayları nasıl temizlediğiniz:

" WevtUtil cl Setup "

Olayları silmeden önce bunları bir dosyaya kaydetmeden yedekleyebilirsiniz:

" WevtUtil cl Setup /bu:SetupLog_Bak.evtx "

Tüm günlükleri bir kerede temizlemek için, tüm günlük nesnelerini almak için Get-WinEvent PowerShell cmdlet'i ve bunları temizlemek için Wevtutil.exe'yi kullanabilirsiniz:

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

veya 

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


Standart komut istemini kullanarak günlükleri de silebilirsiniz:

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


Bütün işlemler bu kadar Herkese Kolay Gelsin.

About the author

Serkan Gündoğdu
Bilgisayar ve Yazılım Programları Hakkında En Güncel Bilgiler Bu Blog'da Bizi Takip Etmeyi Unutmayın.

Yorum Gönder

YORUM YAPARAK KATKIDA BULUNABİLİRSİNİZ...