Get-EventLog
Yerel bilgisayardaki veya uzak bilgisayarlardaki olay günlüğündeki olayları veya olay günlüklerinin listesini alır.
Syntax
Get-EventLog
[-LogName] <String>
[-ComputerName <String[]>]
[-Newest <Int32>]
[-After <DateTime>]
[-Before <DateTime>]
[-UserName <String[]>]
[[-InstanceId] <Int64[]>]
[-Index <Int32[]>]
[-EntryType <String[]>]
[-Source <String[]>]
[-Message <String>]
[-AsBaseObject]
[<CommonParameters>]
Get-EventLog
[-ComputerName <String[]>]
[-List]
[-AsString]
[<CommonParameters>]
Description
cmdlet'i Get-EventLog
yerel ve uzak bilgisayarlardan olayları ve olay günlüklerini alır. Varsayılan olarak, Get-EventLog
günlükleri yerel bilgisayardan alır. Uzak bilgisayarlardan günlükleri almak için ComputerName parametresini kullanın.
Olayları aramak için parametreleri ve özellik değerlerini kullanabilirsiniz Get-EventLog
. cmdlet'i belirtilen özellik değerleriyle eşleşen olayları alır.
İsim içeren EventLog
PowerShell cmdlet'leri yalnızca Uygulama, Sistem veya Güvenlik gibi Windows klasik olay günlüklerinde çalışır. Windows Vista ve sonraki Windows sürümlerinde Windows Olay Günlüğü teknolojisini kullanan günlükleri almak için kullanın Get-WinEvent
.
Not
Get-EventLog
kullanım dışı bırakılmış bir Win32 API'si kullanır. Sonuçlar doğru olmayabilir. Bunun yerine cmdlet'ini Get-WinEvent
kullanın.
Örnekler
Örnek 1: Yerel bilgisayarda olay günlüklerini alma
Bu örnek, yerel bilgisayarda kullanılabilen olay günlüklerinin listesini görüntüler. Günlük sütunundaki adlar LogName parametresiyle birlikte hangi günlüğün olaylar için aranacağını belirtmek için kullanılır.
Get-EventLog -List
Max(K) Retain OverflowAction Entries Log
------ ------ -------------- ------- ---
15,168 0 OverwriteAsNeeded 20,792 Application
15,168 0 OverwriteAsNeeded 12,559 System
15,360 0 OverwriteAsNeeded 11,173 Windows PowerShell
Get-EventLog
Cmdlet, kullanılabilir günlükleri görüntülemek için List parametresini kullanır.
Örnek 2: Yerel bilgisayardaki bir olay günlüğünden son girdileri alma
Bu örnek, Sistem olay günlüğünden son girdileri alır.
Get-EventLog -LogName System -Newest 5
Index Time EntryType Source InstanceID Message
----- ---- --------- ------ ---------- -------
13820 Jan 17 19:16 Error DCOM 10016 The description for Event...
13819 Jan 17 19:08 Error DCOM 10016 The description for Event...
13818 Jan 17 19:06 Information Service Control... 1073748864 The start type of the Back...
13817 Jan 17 19:05 Error DCOM 10016 The description for Event...
13815 Jan 17 19:03 Information Microsoft-Windows... 35 The time service is now sync...
Cmdlet, Get-EventLog
Sistem olay günlüğünü belirtmek için LogName parametresini kullanır. En Yeni parametresi en son beş olayı döndürür.
Örnek 3: Olay günlüğünde belirli sayıda girdi için tüm kaynakları bulma
Bu örnek, Sistem olay günlüğündeki en son 1000 girdiye dahil edilen tüm kaynakların nasıl bulunduğunu gösterir.
$Events = Get-EventLog -LogName System -Newest 1000
$Events | Group-Object -Property Source -NoElement | Sort-Object -Property Count -Descending
Count Name
----- ----
110 DCOM
65 Service Control Manager
51 Microsoft-Windows-Kern...
14 EventLog
14 BTHUSB
13 Win32k
Cmdlet, Get-EventLog
Sistem günlüğünü belirtmek için LogName parametresini kullanır. En Yeni parametresi en son 1000 olayı seçer. Olay nesneleri değişkeninde $Events
depolanır. Nesneler $Events
işlem hattına cmdlet'ine Group-Object
gönderilir.
Group-Object
Nesneleri kaynağa göre gruplandırmak için Property parametresini kullanır ve her kaynak için nesne sayısını sayar. NoElement parametresi, grup üyelerini çıkıştan kaldırır.
cmdlet'iSort-Object
, her kaynak adının sayısına göre sıralamak için Property parametresini kullanır.
Descending parametresi, listeyi en yüksekten en düşüğe doğru sayıya göre sıralar.
Örnek 4: Belirli bir olay günlüğünden hata olayları alma
Bu örnek, Sistem olay günlüğünden hata olayları alır.
Get-EventLog -LogName System -EntryType Error
Index Time EntryType Source InstanceID Message
----- ---- --------- ------ ---------- -------
13296 Jan 16 13:53 Error DCOM 10016 The description for Event ID '10016' in Source...
13291 Jan 16 13:51 Error DCOM 10016 The description for Event ID '10016' in Source...
13245 Jan 16 11:45 Error DCOM 10016 The description for Event ID '10016' in Source...
13230 Jan 16 11:07 Error DCOM 10016 The description for Event ID '10016' in Source...
Cmdlet, Get-EventLog
Sistem günlüğünü belirtmek için LogName parametresini kullanır. EntryType parametresi olayları yalnızca Error olaylarını gösterecek şekilde filtreler.
Örnek 5: Olay günlüğünden InstanceId ve Source değerine sahip olayları alma
Bu örnek, belirli bir InstanceId ve Source için Sistem günlüğünden olayları alır.
Get-EventLog -LogName System -InstanceId 10016 -Source DCOM
Index Time EntryType Source InstanceID Message
----- ---- --------- ------ ---------- -------
13245 Jan 16 11:45 Error DCOM 10016 The description for Event ID '10016' in Source...
13230 Jan 16 11:07 Error DCOM 10016 The description for Event ID '10016' in Source...
13219 Jan 16 10:00 Error DCOM 10016 The description for Event ID '10016' in Source...
Cmdlet, Get-EventLog
Sistem günlüğünü belirtmek için LogName parametresini kullanır. InstanceID parametresi, belirtilen Örnek Kimliğine sahip olayları seçer. Source parametresi olay özelliğini belirtir.
Örnek 6: Birden çok bilgisayardan olay alma
Bu komut, üç bilgisayarda Sistem olay günlüğünden olayları alır: Server01, Server02 ve Server03.
Get-EventLog -LogName System -ComputerName Server01, Server02, Server03
Cmdlet, Get-EventLog
Sistem günlüğünü belirtmek için LogName parametresini kullanır. ComputerName parametresi, olay günlüklerini almak istediğiniz bilgisayarları listelemek için virgülle ayrılmış bir dize kullanır.
Örnek 7: İletide belirli bir sözcüğü içeren tüm olayları alma
Bu komut, Sistem olay günlüğünde olayın iletisinde belirli bir sözcüğü içeren tüm olayları alır. Belirtilen İleti parametrenizin değeri iletinin içeriğine eklenmiş ancak PowerShell konsolunda görüntülenmemiş olabilir.
Get-EventLog -LogName System -Message *description*
Index Time EntryType Source InstanceID Message
----- ---- --------- ------ ---------- -------
13821 Jan 17 19:17 Error DCOM 10016 The description for Event ID '10016'...
13820 Jan 17 19:16 Error DCOM 10016 The description for Event ID '10016'...
13819 Jan 17 19:08 Error DCOM 10016 The description for Event ID '10016'...
Cmdlet, Get-EventLog
Sistem olay günlüğünü belirtmek için LogName parametresini kullanır. message parametresi, her olayın ileti alanında aranacak sözcüğü belirtir.
Örnek 8: Bir olayın özellik değerlerini görüntüleme
Bu örnekte, bir olayın tüm özelliklerinin ve değerlerinin nasıl görüntüleneceği gösterilmektedir.
$A = Get-EventLog -LogName System -Newest 1
$A | Select-Object -Property *
EventID : 10016
MachineName : localhost
Data : {}
Index : 13821
Category : (0)
CategoryNumber : 0
EntryType : Error
Message : The description for Event ID '10016' in Source 'DCOM'...
Source : DCOM
ReplacementStrings : {Local,...}
InstanceId : 10016
TimeGenerated : 1/17/2019 19:17:23
TimeWritten : 1/17/2019 19:17:23
UserName : username
Site :
Container :
Cmdlet, Get-EventLog
Sistem olay günlüğünü belirtmek için LogName parametresini kullanır. En Yeni parametresi en son olay nesnesini seçer. nesnesi değişkeninde $A
depolanır. değişkenindeki $A
nesnesi, işlem hattına cmdlet'ine Select-Object
gönderilir.
Select-Object
nesnenin tüm özelliklerini seçmek için Bir yıldız işareti (*
) ile Property parametresini kullanır.
Örnek 9: Kaynak ve olay kimliği kullanarak olay günlüğünden olay alma
Bu örnek, belirtilen Kaynak ve Olay Kimliği için olayları alır.
Get-EventLog -LogName Application -Source Outlook | Where-Object {$_.EventID -eq 63} |
Select-Object -Property Source, EventID, InstanceId, Message
Source EventID InstanceId Message
------ ------- ---------- -------
Outlook 63 1073741887 The Exchange web service request succeeded.
Outlook 63 1073741887 Outlook detected a change notification.
Outlook 63 1073741887 The Exchange web service request succeeded.
Cmdlet, Get-EventLog
Uygulama olay günlüğünü belirtmek için LogName parametresini kullanır. Source parametresi uygulama adını (Outlook) belirtir. Nesneler işlem hattına cmdlet'ine Where-Object
gönderilir. İşlem hattındaki her nesne için Where-Object
cmdlet, Olay Kimliği özelliğini belirtilen değerle karşılaştırmak için değişkenini $_.EventID
kullanır. Nesneler işlem hattına cmdlet'ine Select-Object
gönderilir. Select-Object
, PowerShell konsolunda görüntülenecek özellikleri seçmek için Property parametresini kullanır.
Örnek 10: Olayları alma ve bir özelliğe göre gruplandırma
Get-EventLog -LogName System -UserName NT* | Group-Object -Property UserName -NoElement |
Select-Object -Property Count, Name
Count Name
----- ----
6031 NT AUTHORITY\SYSTEM
42 NT AUTHORITY\LOCAL SERVICE
4 NT AUTHORITY\NETWORK SERVICE
Cmdlet, Get-EventLog
Sistem günlüğünü belirtmek için LogName parametresini kullanır. UserName parametresi, kullanıcı adının bir bölümünü belirtmek için yıldız işareti (*
) joker karakterini içerir. Olay nesneleri işlem hattına cmdlet'ine Group-Object
gönderilir. Group-Object
, UserName özelliğinin nesneleri gruplandırmak ve her kullanıcı adı için nesne sayısını saymak için kullanıldığını belirtmek için Property parametresini kullanır. NoElement parametresi, grup üyelerini çıkıştan kaldırır. Nesneler işlem hattına cmdlet'ine Select-Object
gönderilir.
Select-Object
, PowerShell konsolunda görüntülenecek özellikleri seçmek için Property parametresini kullanır.
Örnek 11: Belirli bir tarih ve saat aralığında gerçekleşen olayları alma
Bu örnek, belirtilen tarih ve saat aralığı için Sistem olay günlüğünden Hata olaylarını alır. Before ve After parametreleri tarih ve saat aralığını ayarlar ancak çıktının dışında tutulur.
$Begin = Get-Date -Date '1/17/2019 08:00:00'
$End = Get-Date -Date '1/17/2019 17:00:00'
Get-EventLog -LogName System -EntryType Error -After $Begin -Before $End
Index Time EntryType Source InstanceID Message
----- ---- --------- ------ ---------- -------
13821 Jan 17 13:40 Error DCOM 10016 The description for Event ID...
13820 Jan 17 13:11 Error DCOM 10016 The description for Event ID...
...
12372 Jan 17 10:08 Error DCOM 10016 The description for Event ID...
12371 Jan 17 09:04 Error DCOM 10016 The description for Event ID...
Cmdlet tarih Get-Date
ve saat belirtmek için Date parametresini kullanır. DateTime nesneleri ve $End
değişkenlerinde $Begin
depolanır. Cmdlet, Get-EventLog
Sistem günlüğünü belirtmek için LogName parametresini kullanır. EntryType parametresi Error olay türünü belirtir. Tarih ve saat aralığı After parametresi ve değişkeni ile $Begin
Before parametresi ve $End
değişkeni tarafından ayarlanır.
Parametreler
-After
Belirtilen tarih ve saatten sonra gerçekleşen olayları alır. After parametresi tarih ve saati çıktının dışında tutulur. Cmdlet tarafından Get-Date
döndürülen değer gibi bir DateTime nesnesi girin.
Type: | DateTime |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-AsBaseObject
Bu cmdlet'in her olay için standart bir System.Diagnostics.EventLogEntry nesnesi döndürdüğünü gösterir. Bu parametre olmadan, Get-EventLog
ek EventLogName, Source ve InstanceId özelliklerine sahip genişletilmiş bir PSObject nesnesi döndürür.
Bu parametrenin etkisini görmek için, olayları cmdlet'ine yöneltin Get-Member
ve sonuçtaki TypeName değerini inceleyin.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-AsString
Bu cmdlet'in çıkışı nesneler yerine dize olarak döndürdüğünü gösterir.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Before
Belirtilen tarih ve saatten önce gerçekleşen olayları alır. Before parametresi tarih ve saati çıktının dışında tutulur. Cmdlet tarafından Get-Date
döndürülen değer gibi bir DateTime nesnesi girin.
Type: | DateTime |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ComputerName
Bu parametre uzak bilgisayarın NetBIOS adını, İnternet Protokolü (IP) adresini veya tam etki alanı adını (FQDN) belirtir.
ComputerName parametresi belirtilmezse, Get-EventLog
varsayılan olarak yerel bilgisayar olur. parametresi ayrıca yerel bilgisayarı belirtmek için bir nokta (.
) kabul eder.
ComputerName parametresi Windows PowerShell uzaktan iletişimini desteklemez. Bilgisayarınız uzak komutları çalıştıracak şekilde yapılandırılmamış olsa bile ComputerName parametresiyle kullanabilirsinizGet-EventLog
.
Type: | String[] |
Aliases: | Cn |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-EntryType
Bu cmdlet'in aldığı olayların giriş türünü dize dizisi olarak belirtir.
Bu parametrenin kabul edilebilir değerleri şunlardır:
- Hata
- Bilgiler
- FailureAudit
- SuccessAudit
- Uyarı
Type: | String[] |
Aliases: | ET |
Accepted values: | Error, Information, FailureAudit, SuccessAudit, Warning |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Index
Olay günlüğünden alınacak dizin değerlerini belirtir. parametresi virgülle ayrılmış bir değer dizesi kabul eder.
Type: | Int32[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InstanceId
Olay günlüğünden alınacak Örnek Kimliklerini belirtir. parametresi virgülle ayrılmış bir değer dizesi kabul eder.
Type: | Int64[] |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-List
Bilgisayardaki olay günlüklerinin listesini görüntüler.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-LogName
Bir olay günlüğünün adını belirtir. Günlük adlarını bulmak için kullanın Get-EventLog -List
. Joker karakterlere izin verilir. Bu parametre zorunludur.
Type: | String |
Aliases: | LN |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-Message
Olay iletisinde bir dize belirtir. Belirli sözcükleri veya tümcecikleri içeren iletileri aramak için bu parametreyi kullanabilirsiniz. Joker karakterlere izin verilir.
Type: | String |
Aliases: | MSG |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-Newest
En yeni olaylarla başlar ve belirtilen olay sayısını alır. Olay sayısı gereklidir, örneğin -Newest 100
. Döndürülen en fazla olay sayısını belirtir.
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Source
Bu cmdlet'in aldığı günlüğe yazılan kaynakları dize dizisi olarak belirtir. Joker karakterlere izin verilir.
Type: | String[] |
Aliases: | ABO |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-UserName
Olaylarla ilişkilendirilmiş kullanıcı adlarını dize dizisi olarak belirtir. , User*
Domain01\User*
veya gibi User01
ad veya ad desenleri girin. Joker karakterlere izin verilir.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
Girişler
None
Girişi öğesine yöneltemezsiniz Get-EventLog
.
Çıkışlar
System.Diagnostics.EventLogEntry. System.Diagnostics.EventLog. System.String
LogName parametresi belirtilirse çıkış, System.Diagnostics.EventLogEntry nesnelerinin bir koleksiyonudur.
Yalnızca List parametresi belirtilirse, çıkış System.Diagnostics.EventLog nesnelerinin bir koleksiyonudur.
Hem List hem de AsString parametreleri belirtilirse, çıkış System.String nesnelerinin bir koleksiyonudur.
Notlar
ve cmdlet'leri Get-EventLog
Get-WinEvent
Windows Önyükleme Ortamı'nda (Windows PE) desteklenmez.
İlişkili Bağlantılar
PowerShell
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin