Get-EventLog
Yerel bilgisayardaki veya uzak bilgisayarlardaki olay günlüğündeki olayları veya olay günlüklerinin listesini alır.
Syntax
LogName (Varsayılan)
Get-EventLog
[-LogName] <String>
[[-InstanceId] <Int64[]>]
[-ComputerName <String[]>]
[-Newest <Int32>]
[-After <DateTime>]
[-Before <DateTime>]
[-UserName <String[]>]
[-Index <Int32[]>]
[-EntryType <String[]>]
[-Source <String[]>]
[-Message <String>]
[-AsBaseObject]
[<CommonParameters>]
List
Get-EventLog
[-ComputerName <String[]>]
[-List]
[-AsString]
[<CommonParameters>]
Description
Get-EventLog cmdlet'i 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 Get-EventLog parametrelerini ve özellik değerlerini kullanabilirsiniz. cmdlet'i belirtilen özellik değerleriyle eşleşen olayları alır.
EventLog adını içeren 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 Get-WinEventkullanın.
Uyarı
Get-EventLog, kullanım dışı bırakılmış bir Win32 API kullanır. Sonuçlar doğru olmayabilir. Bunun yerine Get-WinEvent cmdlet'ini 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, olaylar için hangi günlüğün aranacağını belirtmek için LogName parametresiyle birlikte 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'i, kullanılabilir günlükleri görüntülemek için Listesi 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...
Get-EventLog cmdlet'i, 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
Get-EventLog cmdlet'i, Sistem günlüğünü belirtmek için LogName parametresini kullanır.
En Yeni parametresi en son 1000 olayı seçer. Olay nesneleri $Events değişkeninde depolanır.
$Events nesneleri işlem hattını Group-Object cmdlet'ine gönderilir.
Group-Object, nesneleri kaynağa göre gruplandırmak için Özelliği parametresini kullanır ve her kaynak için nesne sayısını sayar.
NoElement parametresi, grup üyelerini çıkıştan kaldırır.
Sort-Object cmdlet'i, her kaynak adının sayısına göre sıralamak için Özelliği parametresini kullanır.
Azalan
Ö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...
Get-EventLog cmdlet'i, Sistem günlüğünü belirtmek için LogName parametresini kullanır.
EntryType parametresi olayları yalnızca Hata 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...
Get-EventLog cmdlet'i, 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
Get-EventLog cmdlet'i, 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 parametresinin 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'...
Get-EventLog cmdlet'i, Sistem olay günlüğünü belirtmek için LogName parametresini kullanır.
İleti 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 :
Get-EventLog cmdlet'i, Sistem olay günlüğünü belirtmek için LogName parametresini kullanır.
En Yeni parametresi en son olay nesnesini seçer. nesnesi $A değişkeninde depolanır.
$A değişkenindeki nesne, işlem hattına Select-Object cmdlet'ine gönderilir.
Select-Object, nesnenin tüm özelliklerini seçmek için Özelliği parametresini yıldız işaretiyle (*) 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.
Get-EventLog cmdlet'i, Uygulama olay günlüğünü belirtmek için LogName parametresini kullanır.
Kaynak parametresi, uygulama adını (Outlook) belirtir. Nesneler işlem hattına Where-Object cmdlet'ine gönderilir. İşlem hattındaki her nesne için, Where-Object cmdlet'i Olay Kimliği özelliğini belirtilen değerle karşılaştırmak için $_.EventID değişkenini kullanır. Nesneler işlem hattına Select-Object cmdlet'ine gönderilir.
Select-Object, PowerShell konsolunda görüntülenecek özellikleri seçmek için Özelliği 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
Get-EventLog cmdlet'i, 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ını Group-Object cmdlet'ine 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 Özelliği parametresini kullanır.
NoElement parametresi, grup üyelerini çıkıştan kaldırır. Nesneler işlem hattına Select-Object cmdlet'ine gönderilir.
Select-Object, PowerShell konsolunda görüntülenecek özellikleri seçmek için Özelliği 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. Önce ve Sonra 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...
Get-Date cmdlet'i tarih ve saat belirtmek için Date parametresini kullanır.
DateTime nesneleri $Begin ve $End değişkenlerinde depolanır.
Get-EventLog cmdlet'i, 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 $Begin değişkeni ile 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'i tarafından döndürülen değer gibi bir Get-Date nesnesi girin.
Parametre özellikleri
| Tür: | DateTime |
| Default value: | None |
| Joker karakterleri destekler: | False |
| DontShow: | False |
Parametre kümeleri
LogName
| Position: | Named |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | 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, Sourceve InstanceId özelliklerine sahip genişletilmiş bir PSObject nesnesi döndürür.
Bu parametrenin etkisini görmek için olayları Get-Member cmdlet'ine yöneltin ve sonuçtaki TypeName değerini inceleyin.
Parametre özellikleri
| Tür: | SwitchParameter |
| Default value: | None |
| Joker karakterleri destekler: | False |
| DontShow: | False |
Parametre kümeleri
LogName
| Position: | Named |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
-AsString
Bu cmdlet'in çıkışı nesneler yerine dize olarak döndürdüğünü gösterir.
Parametre özellikleri
| Tür: | SwitchParameter |
| Default value: | None |
| Joker karakterleri destekler: | False |
| DontShow: | False |
Parametre kümeleri
List
| Position: | Named |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
-Before
Belirtilen tarih ve saatten önce gerçekleşen olayları alır.
Önce parametre tarihi ve saati çıktının dışında tutulur.
cmdlet'i tarafından döndürülen değer gibi bir Get-Date nesnesi girin.
Parametre özellikleri
| Tür: | DateTime |
| Default value: | None |
| Joker karakterleri destekler: | False |
| DontShow: | False |
Parametre kümeleri
LogName
| Position: | Named |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | 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 Get-EventLog parametresiyle kullanabilirsiniz.
Parametre özellikleri
| Tür: | String[] |
| Default value: | None |
| Joker karakterleri destekler: | False |
| DontShow: | False |
| Diğer adlar: | Cn |
Parametre kümeleri
(All)
| Position: | Named |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
-EntryType
Bu cmdlet'in aldığı olayların giriş türünü dize dizisi olarak belirtir.
Bu parametre için kabul edilebilir değerler şunlardır:
- Hata
- Bilgi
- FailureAudit (Başarısızlık Denetimi)
- Başarı Denetimi
- Uyarı
Parametre özellikleri
| Tür: | String[] |
| Default value: | None |
| Kabul edilen değerler: | Error, Information, FailureAudit, SuccessAudit, Warning |
| Joker karakterleri destekler: | False |
| DontShow: | False |
| Diğer adlar: | ET |
Parametre kümeleri
LogName
| Position: | Named |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
-Index
Olay günlüğünden alınacak dizin değerlerini belirtir. parametresi virgülle ayrılmış bir değer dizesi kabul eder.
Parametre özellikleri
| Tür: | Int32[] |
| Default value: | None |
| Joker karakterleri destekler: | False |
| DontShow: | False |
Parametre kümeleri
LogName
| Position: | Named |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
-InstanceId
Olay günlüğünden alınacak Örnek Kimliklerini belirtir. parametresi virgülle ayrılmış bir değer dizesi kabul eder.
Parametre özellikleri
| Tür: | Int64[] |
| Default value: | None |
| Joker karakterleri destekler: | False |
| DontShow: | False |
Parametre kümeleri
LogName
| Position: | 1 |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
-List
Bilgisayardaki olay günlüklerinin listesini görüntüler.
Parametre özellikleri
| Tür: | SwitchParameter |
| Default value: | None |
| Joker karakterleri destekler: | False |
| DontShow: | False |
Parametre kümeleri
List
| Position: | Named |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
-LogName
Bir olay günlüğünün adını belirtir. Günlük adlarını bulmak için Get-EventLog -Listkullanın. Joker karakterlere izin verilir. Bu parametre gereklidir.
Parametre özellikleri
| Tür: | String |
| Default value: | None |
| Joker karakterleri destekler: | True |
| DontShow: | False |
| Diğer adlar: | LN |
Parametre kümeleri
LogName
| Position: | 0 |
| Zorunlu: | True |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
-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.
Parametre özellikleri
| Tür: | String |
| Default value: | None |
| Joker karakterleri destekler: | True |
| DontShow: | False |
| Diğer adlar: | MSG |
Parametre kümeleri
LogName
| Position: | Named |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
-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.
Parametre özellikleri
| Tür: | Int32 |
| Default value: | None |
| Joker karakterleri destekler: | False |
| DontShow: | False |
Parametre kümeleri
LogName
| Position: | Named |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
-Source
Bu cmdlet'in aldığı günlüğe yazılan kaynakları dize dizisi olarak belirtir. Joker karakterlere izin verilir.
Parametre özellikleri
| Tür: | String[] |
| Default value: | None |
| Joker karakterleri destekler: | True |
| DontShow: | False |
| Diğer adlar: | ABO |
Parametre kümeleri
LogName
| Position: | Named |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
-UserName
Olaylarla ilişkilendirilmiş kullanıcı adlarını dize dizisi olarak belirtir.
User01, User*veya Domain01\User*gibi ad veya ad desenleri girin. Joker karakterlere izin verilir.
Parametre özellikleri
| Tür: | String[] |
| Default value: | None |
| Joker karakterleri destekler: | True |
| DontShow: | False |
Parametre kümeleri
LogName
| Position: | Named |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
CommonParameters
Bu cmdlet yaygın parametreleri destekler: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction ve -WarningVariable. Daha fazla bilgi için bkz. about_CommonParameters.
Girişler
None
girişi Get-EventLogkanala alamazsınız.
Çıkışlar
System.Diagnostics.EventLogEntry. System.Diagnostics.EventLog. System.String
LogName parametresi belirtilirse, çıkış System.Diagnostics.EventLogEntry nesneleri koleksiyonudur.
Yalnızca Listesi parametresi belirtilirse, çıkış System.Diagnostics.EventLog nesneleri koleksiyonudur.
Hem Listesi hem de AsString parametreleri belirtilirse, çıkış System.String nesnelerinin koleksiyonudur.
Notlar
Get-EventLog ve Get-WinEvent cmdlet'leri Windows Önyükleme Ortamı'nda (Windows PE) desteklenmez.