PowerShell Event Log Yönetimi Nedir?

PowerShell event log yönetimi, Windows sistemlerinde oluşan olay kayıtlarını (Event Logs) toplamak, analiz etmek, yedeklemek veya temizlemek için kullanılır.
Bu yöntem, özellikle sunucu izleme, güvenlik analizi ve otomatik bakım işlemleri için büyük kolaylık sağlar.

PowerShell’in sunduğu Get-EventLog ve Get-WinEvent cmdlet’leri sayesinde log yönetimi tamamen otomatik hale getirilebilir.

Event Log Türleri

Windows’ta üç ana log türü vardır:

  • Application Log – Uygulama tabanlı olaylar (örnek: Outlook, SQL)

  • System Log – İşletim sistemi ve servis kayıtları

  • Security Log – Güvenlik olayları (oturum açma, başarısız denemeler)

PowerShell ile tüm bu log’lara erişebilir ve filtreleme yapabilirsin.

PowerShell ile Event Log Listeleme

Tüm log türlerini görüntülemek için:

Get-EventLog -List

Son 20 sistem logunu listelemek:

Get-EventLog -LogName System -Newest 20

Sadece “Error” türündeki kayıtları filtrelemek:

Get-EventLog -LogName Application -EntryType Error -Newest 10
İpucu: “Security” logları için PowerShell’i yönetici olarak çalıştırman gerekir.

Logları CSV’ye Aktarma Script’i

Belirli logları dışa aktarmak için:

Get-EventLog -LogName Application -EntryType Warning -Newest 100 | Select-Object TimeGenerated, Source, EventID, Message | Export-Csv -Path "C:\Logs\ApplicationLogs.csv" -NoTypeInformation
Benzer şekilde kullanıcı bilgilerini dışa aktarmak istersen PowerShell ile Active Directory Kullanıcılarını CSV’ye Aktarma makalemizi inceleyebilirsin.

Log Temizleme Komutu

Tüm Application loglarını temizlemek için:

Clear-EventLog -LogName Application

Tüm logları tek seferde temizlemek:

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

Dikkat: Temizleme işlemi geri alınamaz. Öncesinde mutlaka yedek alın.

Log Arşivleme (Yedekleme) Script’i

Logları silmeden önce arşivlemek için:

$logname = "System" $backupPath = "C:\Logs\$logname-$(Get-Date -Format yyyyMMdd).evtx" wevtutil epl $logname $backupPath Write-Host "$logname logları $backupPath konumuna arşivlendi."

Bu yöntemle .evtx formatında yedek oluşturabilir, gerektiğinde Event Viewer üzerinden yeniden inceleyebilirsin.

Gerçek Senaryo: Otomatik Log Temizleme Görevi

Aşağıdaki script, haftalık olarak tüm logları yedekleyip temizler:

$logs = @("Application", "System", "Security") $backupDir = "C:\Logs\Archive\" foreach ($log in $logs) { $file = "$backupDir$log-$(Get-Date -Format yyyyMMdd).evtx" wevtutil epl $log $file Clear-EventLog -LogName $log Write-Host "$log logları yedeklendi ve temizlendi." }

Bu script’i Task Scheduler üzerinden haftalık çalışacak şekilde planlayabilirsiniz.

Artık PowerShell kullanarak:

  • Logları görüntüleyebilir,

  • Hata kayıtlarını filtreleyebilir,

  • CSV’ye aktarabilir,

  • Temizleme ve arşivleme işlemlerini otomatikleştirebilirsin.

PowerShell event log yönetimi, sistem performansını korumak ve güvenlik olaylarını analiz etmek için en verimli yöntemlerden biridir.

Kaynaklar:

Tolga CEYHAN

Tolga CEYHAN, bilgi teknolojilerini severek takip eder ve BT üzerine hali hazırda aktif olarak çalışmaktadır. 2006 yılından 2017 yılına kadar web tasarım yazılım üzerine çalışmalar yaptım. Şuan ise Windows Sistem ve Sistem Güvenliği alanında çalışmalarımı sürdürmekteyim.

Recent Posts

PowerShell Komutları (Profesyonel Rehber)

Birçok kişi PowerShell komutları konusuna yalnızca “hangi komut ne işe yarar?” düzeyinde yaklaşır. Oysa profesyonel…

1 ay ago

Windows File Server Migration Rehberi (Adım Adım Veri Taşıma)

Kurumsal IT altyapılarında zamanla depolama ihtiyaçlarının artması, eski sunucuların performansının yetersiz kalması veya yeni mimariye…

1 ay ago

NTFS Permission Tasarımı ve AGDLP Modeli Rehberi

NTFS Permission Tasarımı: AGDLP Modeli ile Kurumsal Yetkilendirme Rehberi Kurumsal ortamlarda NTFS permission tasarımı, dosya…

2 ay ago

Windows File Server Güvenliği Rehberi

Kurumsal yapılarda Windows File Server güvenliği, veri bütünlüğü ve iş sürekliliği açısından kritik öneme sahiptir.…

2 ay ago

Blockchain Mantığı ile PowerShell Log Bütünlüğü

Blockchain Log Bütünlüğü Bu yazımızda blockchain log bütünlüğü üzerine incelemelerde bulunacağız. Günümüz kurumsal sistemlerinde en…

3 ay ago

PowerShell SQL Backup Script – Automated Full Database Backup

A PowerShell SQL Server backup script is a practical way to standardize SQL backups across…

3 ay ago

This website uses cookies.

Read More