PowerShell veya Wevtutil Kullanarak Windows Olay Günlüklerini Temizleme
Bazı durumlarda, bir bilgisayardaki veya bir sunucudaki Windows olay günlüklerindeki tüm girişleri silmek gerekir. Elbette, sistem günlüklerini Olay Görüntüleyici konsolu GUI'sinden temizleyebilirsiniz: Eventvwr.msc (temizlemek istediğiniz günlüğü sağ tıklayın ve Günlüğü Temizle'yi seçin). Ancak, Vista'dan başlayarak, Windows farklı sistem bileşenleri için birkaç düzine günlük kullanıyor ve bunların hepsini Olay Görüntüleyici'de manuel olarak temizlemek zaman alıyor. Günlükleri komut isteminden temizlemek çok daha kolaydır: PowerShell veya yerleşik konsol aracı wevtutil kullanılarak.
PowerShell ile Olay Günlüklerini Temizleme
PowerShell 3 kuruluysa (varsayılan olarak, Windows 8/Windows Server ve sonraki sürümlerde kuruludur), almak için Get-EventLog ve Clear-EventLog cmdlet'lerini kullanabilirsiniz. olay günlüklerinin listesi ve bunları temizleyin.
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ıyla görüntüleyin.
Get-EventLog -LogName *
Belirli olay günlüğündeki (örneğin, Sistem günlüğü) tüm girişleri temizlemek için şu komutu kullanın:
Clear-EventLog -LogName SystemSonuç olarak, bu günlüğün tüm etkinlikleri silinecek ve 104 EventId değerine ve "Sistem günlük dosyası temizlendi“.
Tüm olay günlüklerini temizlemek için günlük adlarını ardışık düzene yönlendirmeniz gerekir, ancak ne yazık ki bu yasaktır. Bu nedenle, ForEach döngüsünü kullanmamız gerekecek:
Get-EventLog -LogName * | ForEach { Clear-EventLog $_.Log }Böylece, tüm standart olay günlükleri temizlenecektir.
WevtUtil.exe konsol aracını kullanarak Günlükleri Temizleme
Olaylarla çalışmak için, Windows'ta uzun süredir güçlü bir komut istemi yardımcı programı olan WevtUtil.exe bulunmaktadır. Sözdizimi ilk görüş için biraz karmaşıktır. Burada, örneğin, yardımcı programların yardımını döndürür:
Sistemde kayıtlı günlüklerin listesini görüntülemek için şu komutu çalıştırın:
WevtUtil enum-logsveya daha kısa versiyonu:
WevtUtil elEkranda oldukça etkileyici bir günlük listesi görüntülenecektir.
Not. Aşağıdaki komutu kullanarak kaç günlük olduğunu sayabilirsiniz: WevtUtil el |Measure-Object. Benim durumumda, Windows 10'da 1.053 farklı günlük vardı.
Belirli bir günlük hakkında ayrıntılı bilgi alabilirsiniz:
WevtUtil gl SetupBelirli bir günlükteki olayları şu şekilde temizleyebilirsiniz:
WevtUtil cl SetupOlayları temizlemeden önce, bir dosyaya kaydederek onları yedekleyebilirsiniz:
WevtUtil cl Setup /bu:SetupLog_Bak.evtxTüm günlükleri tek seferde temizlemek için Get-WinEvent PowerShell cmdlet'i kullanarak tüm günlük nesnelerini ve Wevtutil.exe'yi kullanarak bunları temizleyebilirsiniz:
Get-WinEvent -ListLog * -Force | % { Wevtutil.exe cl $_.LogName }veya
Wevtutil el | ForEach { wevtutil cl “$_”}Not. Örneğimizde, erişim hatası nedeniyle 3 günlüğü temizleyemedim. Olay Görüntüleyiciyi kullanarak bunları temizlemeye çalışmakta fayda var.
Günlükleri standart komut istemini kullanarak da temizleyebilirsiniz:
for /F "tokens=*" %1 in ('wevtutil.exe el') DO wevtutil.exe cl "%1"





