Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Kısa açıklama
Bu makalede, PowerShell'in olayları Windows Olay günlüğüne nasıl günlüğe kaydeddiği açıklanmaktadır.
Uzun açıklama
Windows PowerShell, Windows PowerShell olaylarını kaydetmek için "Windows PowerShell" adlı bir Windows olay günlüğü oluşturur. Bu günlüğü Olay Görüntüleyicisi veya cmdlet gibi Get-EventLog
olayları alan cmdlet'leri kullanarak görüntüleyebilirsiniz.
Varsayılan olarak, Windows PowerShell altyapısı ve sağlayıcı olayları olay günlüğüne kaydedilir, ancak olay günlüğünü özelleştirmek için olay günlüğü tercih değişkenlerini kullanabilirsiniz. Örneğin, Windows PowerShell komutları hakkında olaylar ekleyebilirsiniz.
Windows PowerShell olay günlüğü, program altyapısını başlatma ve durdurma, Windows PowerShell sağlayıcılarını başlatma ve durdurma gibi Windows PowerShell işlemlerinin ayrıntılarını kaydeder. Ayrıca Windows PowerShell komutları hakkındaki ayrıntıları da günlüğe kaydedebilirsiniz.
Windows PowerShell Olay Günlüğünü Görüntüleme
Windows PowerShell olay günlüğünü Olay Görüntüleyicisi veya ve Get-EventLog
cmdlet'lerini Get-WmiObject
kullanarak görüntüleyebilirsiniz. Windows PowerShell günlüğünün içeriğini görüntülemek için şunu yazın:
Get-EventLog -LogName "Windows PowerShell"
Olayları ve özelliklerini incelemek için cmdlet'ini, cmdlet'ini Sort-Object
ve fiili içeren Group-Object
cmdlet'leri (Format
cmdlet'ler) kullanınFormat
.
Örneğin, olay kimliğine göre gruplandırılmış günlükteki olayları görüntülemek için şunu yazın:
Get-EventLog "Windows PowerShell" | Format-Table -GroupBy EventID
Veya şunu yazın:
Get-EventLog "Windows PowerShell" |
Sort-Object EventID |
Group-Object EventID
Tüm klasik olay günlüklerini görüntülemek için şunu yazın:
Get-EventLog -List
Olay günlüğünü incelemek üzere olayla ilgili Windows Yönetim Araçları (WMI) sınıflarını kullanmak için cmdlet'ini de Get-WmiObject
kullanabilirsiniz. Örneğin, olay günlüğü dosyasının tüm özelliklerini görüntülemek için şunu yazın:
Get-WmiObject Win32_NTEventlogFile |
where LogFileName -EQ "Windows PowerShell" |
Format-List -Property *
Win32 olayla ilgili WMI sınıflarını bulmak için şunu yazın:
Get-WmiObject -List | where Name -Like "Win32*Event*"
Daha fazla bilgi için bkz . Get-EventLog ve Get-WmiObject.
Windows PowerShell Olay Günlüğü için Olayları Seçme
Windows PowerShell olay günlüğüne hangi olayların kaydedildiğini belirlemek için olay günlüğü tercih değişkenlerini kullanabilirsiniz.
Altı olay günlüğü tercih değişkeni vardır; üç günlük bileşeninin her biri için iki değişken: altyapı (Windows PowerShell programı), sağlayıcılar ve komutlar.
LifecycleEvent
değişkenleri normal başlatma ve durdurma olaylarını günlüğe kaydeder.
Health
değişkenleri hata olaylarını günlüğe kaydeder.
Aşağıdaki tabloda olay günlüğü tercih değişkenleri listelemektedir.
Değişken | Açıklama |
---|---|
$LogEngineLifecycleEvent |
PowerShell'in başlangıç ve durdurmasını günlüğe kaydeder |
$LogEngineHealthEvent |
PowerShell program hatalarını günlüğe kaydeder |
$LogProviderLifecycleEvent |
PowerShell sağlayıcılarının başlangıç ve durdurmasını günlüğe kaydeder |
$LogProviderHealthEvent |
PowerShell sağlayıcısı hatalarını günlüğe kaydeder |
$LogCommandLifecycleEvent |
Komutların başlatılmasını ve tamamlanmasını günlüğe kaydeder |
$LogCommandHealthEvent |
Günlükler komut hataları |
(Windows PowerShell sağlayıcıları hakkında bilgi için bkz. about_Providers.)
Varsayılan olarak, yalnızca aşağıdaki olay türleri etkinleştirilir:
$LogEngineLifecycleEvent
$LogEngineHealthEvent
$LogProviderLifecycleEvent
$LogProviderHealthEvent
Bir olay türünü etkinleştirmek için, bu olay türü için tercih değişkenini olarak $true
ayarlayın. Örneğin, komut yaşam döngüsü olaylarını etkinleştirmek için şunu yazın:
$LogCommandLifecycleEvent
Veya şunu yazın:
$LogCommandLifecycleEvent = $true
Bir olay türünü devre dışı bırakmak için, bu olay türü için tercih değişkenini olarak $false
ayarlayın. Örneğin, yaşam döngüsü olaylarını devre dışı bırakmak için şunu yazın:
$LogProviderLifecycleEvent = $false
Windows PowerShell altyapısının ve çekirdek sağlayıcıların başlatıldığını gösteren olaylar dışında herhangi bir olayı devre dışı bırakabilirsiniz. Bu olaylar, Windows PowerShell profilleri çalışmadan önce ve konak programı komutları kabul etmeye hazır olmadan önce oluşturulur.
Değişken ayarları yalnızca geçerli Windows PowerShell oturumu için geçerlidir. Tüm Windows PowerShell oturumlarına uygulamak için bunları Windows PowerShell profilinize ekleyin.
Modül Olaylarını Günlüğe Kaydetme
Windows PowerShell 3.0'dan başlayarak, modüllerin ve ek bileşenlerinin LogPipelineExecutionDetails özelliğini olarak ayarlayarak Windows PowerShell modülleri ve ek bileşenlerindeki cmdlet'ler ve işlevler için yürütme olaylarını $true
kaydedebilirsiniz. Windows PowerShell 2.0'da bu özellik yalnızca ek bileşenler için kullanılabilir.
LogPipelineExecutionDetails özellik değeri olduğunda$true
, Windows PowerShell oturumdaki cmdlet ve işlev yürütme olaylarını Olay Görüntüleyicisi'deki Windows PowerShell günlüğüne yazar. Ayar yalnızca geçerli oturumda geçerlidir.
Bir modülde cmdlet'lerin ve işlevlerin yürütme olaylarının günlüğe kaydedilmesini etkinleştirmek için aşağıdaki komut dizisini kullanın.
Import-Module Microsoft.PowerShell.Archive
$m = Get-Module Microsoft.PowerShell.Archive
$m.LogPipelineExecutionDetails = $true
Bir ek bileşende cmdlet'lerin yürütme olaylarının günlüğe kaydedilmesini etkinleştirmek için aşağıdaki komut dizisini kullanın.
$m = Get-PSSnapin Microsoft.PowerShell.Core
$m.LogPipelineExecutionDetails = $true
Günlüğü devre dışı bırakmak için, özellik değerini $false
olarak ayarlamak için aynı komut dizisini kullanın.
Modül ve ek bileşen günlüğünü etkinleştirmek ve devre dışı bırakmak için Modül Günlüğü Grup İlkesini Aç ayarını da kullanabilirsiniz. İlke değeri, modül ve ek bileşen adlarının listesini içerir. Joker karakterler desteklenir.
Modül için Modül Günlüğünü Aç ayarlandığında, modülün LogPipelineExecutionDetails özelliğinin değeri tüm oturumlarda olur $true
ve değiştirilemez.
"Modül Günlüğünü Aç" grup ilkesi ayarı aşağıdaki Grup İlkesi yollarında bulunur:
Computer Configuration\
Administrative Templates\
Windows Components\
Windows PowerShell
User Configuration\
Administrative Templates\
Windows Components\
Windows PowerShell
Kullanıcı Yapılandırması ilkesi, Bilgisayar Yapılandırması ilkesinden önceliklidir ve her iki ilke de modüllerin ve ek bileşenlerinin LogPipelineExecutionDetails özelliğinin değerinden daha önceliklidir.
Bu Grup İlkesi ayarı hakkında daha fazla bilgi için bkz . about_Group_Policy_Settings.
Güvenlik ve Denetim
Windows PowerShell olay günlüğü, etkinliği göstermek ve sorun giderme için işlem ayrıntılarını sağlamak üzere tasarlanmıştır.
Ancak çoğu Windows tabanlı uygulama olay günlüğü gibi Windows PowerShell olay günlüğü de güvenli olacak şekilde tasarlanmamıştır. Güvenliği denetlemek veya gizli veya özel bilgileri kaydetmek için kullanılmamalıdır.
Olay günlükleri, kullanıcılar tarafından okunacak ve anlaşılacak şekilde tasarlanmıştır. Kullanıcılar günlükten okuyabilir ve günlüğe yazabilir. Kötü amaçlı bir kullanıcı yerel veya uzak bir bilgisayardaki olay günlüğünü okuyabilir, hatalı veriler kaydedebilir ve ardından etkinliklerinin günlüğe kaydedilmesini engelleyebilir.
Notlar
Modül yazarlarının yazarları modüllerine günlük özellikleri ekleyebilir. Daha fazla bilgi için bkz . Windows PowerShell Modülü Yazma.
Ayrıca bkz.
PowerShell