Olayları İzleme (Windows Olay Günlüğü)
Kanallardan veya günlük dosyalarından olayları tüketebilirsiniz. Olayları kullanmak için tüm olayları kullanabilir veya kullanmak istediğiniz olayları tanımlayan bir XPath ifadesi belirtebilirsiniz. XPath ifadenizde kullanabileceğiniz bir olayın öğelerini ve özniteliklerini belirlemek için bkz. olay şeması .
Windows Olay Günlüğü, XPath 1.0'ın bir alt kümesini destekler. Sınırlamalarla ilgili ayrıntılar için bkz. XPath 1.0 sınırlamaları.
Aşağıdaki örneklerde basit XPath ifadeleri gösterilmektedir.
// The following query selects all events from the channel or log file
XPath Query: *
// The following query selects all the LowOnMemory events from the channel or log file
XPath Query: *[UserData/LowOnMemory]
// The following query selects all events with a severity level of 1 (Critical) from the channel or log file
XPath Query: *[System/Level=1]
// The following query shows a compound expression that selects all events from the channel or log file
// where the printer's name is MyPrinter and severity level is 1.
XPath Query: *[UserData/*/PrinterName="MyPrinter" and System/Level=1]
// The following query selects all events from the channel or log file where the severity level is
// less than or equal to 3 and the event occurred in the last 24 hour period.
XPath Query: *[System[(Level <= 3) and TimeCreated[timediff(@SystemTime) <= 86400000]]]
EvtQuery veya EvtSubscribe işlevlerini çağırırken doğrudan XPath ifadelerini kullanabilir veya XPath ifadesini içeren yapılandırılmış bir XML sorgusu kullanabilirsiniz. Tek bir kaynaktan olayları sorgulayan basit sorgular için XPath ifadesi kullanmak uygundur. XPath ifadesi 20'den fazla ifade içeren bileşik bir ifadeyse veya birden çok kaynaktan gelen olayları sorgularsanız, yapılandırılmış bir XML sorgusu kullanmanız gerekir. Yapılandırılmış XML sorgusunun öğeleri hakkında ayrıntılı bilgi için bkz. Sorgu Şeması.
Yapılandırılmış sorgu, olayların kaynağını ve bir veya daha fazla seçiciyi veya gizleyiciyi tanımlar. Seçici, kaynaktan olayları seçen bir XPath ifadeleri ve bir gizleme, olayların seçilmesini engelleyen bir XPath ifadesi içerir. Birden fazla kaynaktan olayları seçebilirsiniz. Seçici ve bastırıcı aynı olayı tanımlarsa, olay sonuda dahil değildir.
Aşağıda, bir seçici ve bastırıcı kümesini belirten yapılandırılmış bir XML sorgusu gösterilmektedir.
<QueryList>
<Query Id="0">
<Select Path="Application">
*[System[(Level <= 3) and
TimeCreated[timediff(@SystemTime) <= 86400000]]]
</Select>
<Suppress Path="Application">
*[System[(Level = 2)]]
</Suppress>
<Select Path="System">
*[System[(Level=1 or Level=2 or Level=3) and
TimeCreated[timediff(@SystemTime) <= 86400000]]]
</Select>
</Query>
</QueryList>
Sorgudan alınan sonuç kümesi, sorgu sırasındaki olayların anlık görüntüsünü içermez. Bunun yerine, sonuç kümesi sorgu sırasındaki olayları içerir ve sonuçları numaralandırırken sorgu ölçütlerine uyan tüm yeni olayları da içerir.
Not
Olayların sırası, aynı konu/thread tarafından yazılan olaylar için korunur. Ancak, birden çok işlemcili bir bilgisayarın farklı işlemcilerindeki ayrı iş parçacıkları tarafından yazılan olayların, sırasız bir şekilde görünmesi mümkündür.
Olayları kullanma hakkında ayrıntılı bilgi için aşağıdaki konulara bakın:
- Olayları Sorgulama
- Olaylara Abone Olma
- İşleme Olayları
- Olay İletilerini Biçimlendirme
- Yer İşareti Ekleme Olayları
Olayı tüketmeye yönelik standart son kullanıcı araçları şunlardır:
- Olay Görüntüleyicisi
- Windows PowerShell Get-WinEvent cmdlet'i
- WevtUtil
XPath 1.0 sınırlamaları
Windows Olay Günlüğü, XPath 1.0'ın bir alt kümesini destekler. Birincil kısıtlama, yalnızca olayları temsil eden XML öğelerinin bir olay seçici tarafından seçilebileceğidir. Bir olayı seçmeyen XPath sorgusu geçerli değil. Tüm geçerli seçici yolları * veya "Event" ile başlar. Tüm konum yolları olay düğümlerinde çalışır ve bir dizi adımdan oluşur. Her adım üç bölümden oluşan bir yapıdır: eksen, düğüm testi ve koşul. Bu bölümler ve XPath 1.0 hakkında daha fazla bilgi için bkz. XML Yol Dili (XPath). Windows Olay Günlüğü ifadeye aşağıdaki kısıtlamaları yerleştirir:
- Eksen: Yalnızca Alt (varsayılan) ve Öznitelik (ve kısaltması "@") ekseni desteklenir.
- Düğüm Testleri: Yalnızca düğüm adları ve NCName testleri desteklenir. Herhangi bir karakteri seçen "*" karakteri desteklenir.
- Koşullar: Konum yolları aşağıdaki kısıtlamalara uygunsa geçerli XPath ifadeleri kabul edilebilir:
- YA DA, VE, =, !=, <=, <, >=, >ve parantezler standart işleçler olarak desteklenir.
- Düğüm adı için dize değeri oluşturulması desteklenmez.
- Ters sırada değerlendirme desteklenmez.
- Düğüm kümeleri desteklenmez.
- Ad alanı kapsamı desteklenmez.
- Ad alanı, işlem ve yorum düğümleri desteklenmez.
- Bağlam boyutu desteklenmez.
- Değişken bağlamaları desteklenmez.
- Pozisyon işlevi ve dizi referansının kısa kullanımı desteklenir (yalnızca yaprak düğümlerde).
- Band işlevi desteklenir. İşlev, iki tamsayı bağımsız değişkeni için bit düzeyinde AND gerçekleştirir. Bit düzeyinde AND'nin sonucu sıfırdan farklıysa işlev true olarak değerlendirilir; aksi takdirde işlev false olarak değerlendirilir.
- Timediff işlevi desteklenir. işlevi, ikinci bağımsız değişken ile ilk bağımsız değişken arasındaki farkı hesaplar. Bağımsız değişkenlerden biri sabit bir sayı olmalıdır. Bağımsız değişkenler FILETIME gösterimi kullanmalıdır. Sonuç, iki kez arasındaki milisaniye sayısıdır. İkinci bağımsız değişken daha sonraki bir zamanı temsil ederse sonuç pozitif olur; aksi takdirde, negatiftir. İkinci bağımsız değişken sağlanmadığında geçerli sistem saati kullanılır.