Get-EventLog
Mendapatkan peristiwa dalam log peristiwa, atau daftar log peristiwa, pada komputer lokal atau komputer jarak jauh.
Sintaks
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>]
Deskripsi
cmdlet Get-EventLog
mendapatkan log peristiwa dan peristiwa dari komputer lokal dan jarak jauh. Secara default, Get-EventLog
mendapatkan log dari komputer lokal. Untuk mendapatkan log dari komputer jarak jauh, gunakan parameter ComputerName.
Anda dapat menggunakan parameter Get-EventLog
dan nilai properti untuk mencari peristiwa. Cmdlet mendapatkan peristiwa yang cocok dengan nilai properti yang ditentukan.
Cmdlet PowerShell yang berisi pekerjaan kata benda EventLog
hanya pada log peristiwa klasik Windows seperti Aplikasi, Sistem, atau Keamanan. Untuk mendapatkan log yang menggunakan teknologi Log Peristiwa Windows di Windows Vista dan versi Windows yang lebih baru, gunakan Get-WinEvent
.
Nota
Get-EventLog
menggunakan API Win32 yang tidak digunakan lagi. Hasilnya mungkin tidak akurat. Gunakan cmdlet Get-WinEvent
sebagai gantinya.
Contoh
Contoh 1: Mendapatkan log peristiwa di komputer lokal
Contoh ini menampilkan daftar log peristiwa yang tersedia di komputer lokal. Nama di kolom Log digunakan dengan parameter LogName untuk menentukan log mana yang dicari untuk peristiwa.
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
Cmdlet Get-EventLog
menggunakan parameter Daftar untuk menampilkan log yang tersedia.
Contoh 2: Dapatkan entri terbaru dari log peristiwa di komputer lokal
Contoh ini mendapatkan entri terbaru dari log peristiwa Sistem.
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
menggunakan parameter LogName untuk menentukan log peristiwa Sistem. Parameter terbaru mengembalikan lima peristiwa terbaru.
Contoh 3: Temukan semua sumber untuk sejumlah entri tertentu dalam log peristiwa
Contoh ini menunjukkan cara menemukan semua sumber yang disertakan dalam 1000 entri terbaru dalam log peristiwa Sistem.
$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
menggunakan parameter LogName untuk menentukan log Sistem. Parameter terbaru memilih 1000 peristiwa terbaru. Objek peristiwa disimpan dalam variabel $Events
. Objek $Events
dikirimkan alur ke cmdlet Group-Object
.
Group-Object
menggunakan parameter Properti untuk mengelompokkan objek menurut sumber dan menghitung jumlah objek untuk setiap sumber. Parameter NoElement menghapus anggota grup dari output.
Cmdlet Sort-Object
menggunakan parameter Properti untuk mengurutkan menurut hitungan setiap nama sumber.
Parameter turun mengurutkan daftar secara berurutan berdasarkan hitungan dari tertinggi ke terendah.
Contoh 4: Mendapatkan peristiwa kesalahan dari log peristiwa tertentu
Contoh ini mendapatkan peristiwa kesalahan dari log peristiwa Sistem.
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
menggunakan parameter LogName untuk menentukan log Sistem. Parameter EntryType memfilter peristiwa untuk hanya menampilkan peristiwa Kesalahan.
Contoh 5: Mendapatkan peristiwa dari log peristiwa dengan nilai InstanceId dan Source
Contoh ini mendapatkan peristiwa dari log Sistem untuk InstanceId dan Sumber tertentu.
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
menggunakan parameter LogName untuk menentukan log Sistem. Parameter InstanceId memilih peristiwa dengan ID Instans yang ditentukan. Parameter Sumber menentukan properti peristiwa.
Contoh 6: Mendapatkan peristiwa dari beberapa komputer
Perintah ini mendapatkan peristiwa dari log peristiwa Sistem di tiga komputer: Server01, Server02, dan Server03.
Get-EventLog -LogName System -ComputerName Server01, Server02, Server03
Cmdlet Get-EventLog
menggunakan parameter LogName untuk menentukan log Sistem. Parameter ComputerName menggunakan string yang dipisahkan koma untuk mencantumkan komputer tempat Anda ingin mendapatkan log peristiwa.
Contoh 7: Mendapatkan semua peristiwa yang menyertakan kata tertentu dalam pesan
Perintah ini mendapatkan semua peristiwa dalam log peristiwa Sistem yang berisi kata tertentu dalam pesan peristiwa. Ada kemungkinan bahwa nilai parameter Message yang ditentukan disertakan dalam konten pesan tetapi tidak ditampilkan di konsol PowerShell.
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
menggunakan parameter LogName untuk menentukan log peristiwa Sistem. Parameter Pesan menentukan kata yang akan dicari di bidang pesan setiap peristiwa.
Contoh 8: Menampilkan nilai properti peristiwa
Contoh ini menunjukkan cara menampilkan semua properti dan nilai peristiwa.
$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
menggunakan parameter LogName untuk menentukan log peristiwa Sistem. Parameter terbaru memilih objek peristiwa terbaru. Objek disimpan dalam variabel $A
. Objek dalam variabel $A
dikirimkan alur ke cmdlet Select-Object
.
Select-Object
menggunakan parameter Properti dengan tanda bintang (*
) untuk memilih semua properti objek.
Contoh 9: Mendapatkan peristiwa dari log peristiwa menggunakan SUMBER dan ID peristiwa
Contoh ini mendapatkan peristiwa untuk Sumber dan ID Peristiwa tertentu.
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
menggunakan parameter LogName untuk menentukan log peristiwa Aplikasi. Parameter Sumber menentukan nama aplikasi, Outlook. Objek dikirim ke alur ke cmdlet Where-Object
. Untuk setiap objek dalam alur, cmdlet Where-Object
menggunakan variabel $_.EventID
untuk membandingkan properti ID Peristiwa dengan nilai yang ditentukan. Objek dikirim ke alur ke cmdlet Select-Object
.
Select-Object
menggunakan parameter Properti untuk memilih properti yang akan ditampilkan di konsol PowerShell.
Contoh 10: Mendapatkan peristiwa dan grup menurut properti
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
menggunakan parameter LogName untuk menentukan log Sistem. Parameter UserName menyertakan kartubebas tanda bintang (*
) untuk menentukan sebagian nama pengguna. Objek peristiwa dikirimkan alur ke cmdlet Group-Object
.
Group-Object
menggunakan parameter Properti untuk menentukan bahwa properti Nama Pengguna digunakan untuk mengelompokkan objek dan menghitung jumlah objek untuk setiap nama pengguna. Parameter NoElement menghapus anggota grup dari output. Objek dikirim ke alur ke cmdlet Select-Object
.
Select-Object
menggunakan parameter Properti untuk memilih properti yang akan ditampilkan di konsol PowerShell.
Contoh 11: Dapatkan peristiwa yang terjadi selama rentang tanggal dan waktu tertentu
Contoh ini mendapatkan peristiwa Kesalahan dari log peristiwa Sistem untuk rentang tanggal dan waktu tertentu. Parameter Sebelum dan Setelah mengatur rentang tanggal dan waktu tetapi dikecualikan dari output.
$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 Get-Date
menggunakan parameter Tanggal untuk menentukan tanggal dan waktu. Objek DateTime disimpan dalam variabel $Begin
dan $End
. Cmdlet Get-EventLog
menggunakan parameter LogName untuk menentukan log Sistem. Parameter EntryType menentukan jenis peristiwa Kesalahan. Rentang tanggal dan waktu diatur oleh parameter Setelah dan variabel $Begin
dan parameter Sebelum dan variabel $End
.
Parameter
-After
Mendapatkan peristiwa yang terjadi setelah tanggal dan waktu tertentu.
Setelah tanggal dan waktu parameter dikecualikan dari output. Masukkan objek DateTime, seperti nilai yang dikembalikan oleh cmdlet Get-Date
.
Jenis: | DateTime |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-AsBaseObject
Menunjukkan bahwa cmdlet ini mengembalikan objek System.Diagnostics.EventLogEntry standar untuk setiap peristiwa. Tanpa parameter ini, Get-EventLog
mengembalikan objek PSObject yang diperluas dengan properti EventLogName, Sumber , dan InstanceId.
Untuk melihat efek parameter ini, pipa peristiwa ke cmdlet Get-Member
dan periksa nilai TypeName dalam hasilnya.
Jenis: | SwitchParameter |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-AsString
Menunjukkan bahwa cmdlet ini mengembalikan output sebagai string, bukan objek.
Jenis: | SwitchParameter |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-Before
Mendapatkan peristiwa yang terjadi sebelum tanggal dan waktu tertentu. Tanggal dan waktu parameter Sebelum dikecualikan dari output. Masukkan objek DateTime, seperti nilai yang dikembalikan oleh cmdlet Get-Date
.
Jenis: | DateTime |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-ComputerName
Parameter ini menentukan nama NetBIOS komputer jarak jauh, alamat Protokol Internet (IP), atau nama domain yang sepenuhnya memenuhi syarat (FQDN).
Jika parameter ComputerName tidak ditentukan, Get-EventLog
default ke komputer lokal. Parameter juga menerima titik (.
) untuk menentukan komputer lokal.
Parameter ComputerName tidak bergantung pada jarak jauh Windows PowerShell. Anda dapat menggunakan Get-EventLog
dengan parameter ComputerName meskipun komputer Anda tidak dikonfigurasi untuk menjalankan perintah jarak jauh.
Jenis: | String[] |
Alias: | Cn |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-EntryType
Menentukan, sebagai array string, jenis entri peristiwa yang didapat cmdlet ini.
Nilai yang dapat diterima untuk parameter ini adalah:
- Kesalahan
- Informasi
- FailureAudit
- SuccessAudit
- Peringatan
Jenis: | String[] |
Alias: | ET |
Nilai yang diterima: | Error, Information, FailureAudit, SuccessAudit, Warning |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-Index
Menentukan nilai indeks yang akan didapatkan dari log peristiwa. Parameter menerima string nilai yang dipisahkan koma.
Jenis: | Int32[] |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-InstanceId
Menentukan ID Instans yang akan didapatkan dari log peristiwa. Parameter menerima string nilai yang dipisahkan koma.
Jenis: | Int64[] |
Position: | 1 |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-List
Menampilkan daftar log kejadian pada komputer.
Jenis: | SwitchParameter |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-LogName
Menentukan nama satu log peristiwa. Untuk menemukan nama log, gunakan Get-EventLog -List
. Karakter kartubebas diizinkan. Parameter ini diperlukan.
Jenis: | String |
Alias: | LN |
Position: | 0 |
Nilai default: | None |
Diperlukan: | True |
Terima input alur: | False |
Terima karakter wildcard: | True |
-Message
Menentukan string dalam pesan peristiwa. Anda dapat menggunakan parameter ini untuk mencari pesan yang berisi kata atau frasa tertentu. Kartubebas diizinkan.
Jenis: | String |
Alias: | MSG |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | True |
-Newest
Dimulai dengan peristiwa terbaru dan mendapatkan jumlah peristiwa yang ditentukan. Jumlah peristiwa diperlukan, misalnya -Newest 100
. Menentukan jumlah maksimum peristiwa yang dikembalikan.
Jenis: | Int32 |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-Source
Menentukan, sebagai array string, sumber yang ditulis ke log yang didapat cmdlet ini. Kartubebas diizinkan.
Jenis: | String[] |
Alias: | ABO |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | True |
-UserName
Menentukan, sebagai array string, nama pengguna yang terkait dengan peristiwa. Masukkan pola nama atau nama, seperti User01
, User*
, atau Domain01\User*
. Kartubebas diizinkan.
Jenis: | String[] |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | True |
Input
None
Anda tidak dapat menyalurkan input ke Get-EventLog
.
Output
System.Diagnostics.EventLogEntry. System.Diagnostics.EventLog. System.String
Jika parameter LogName ditentukan, outputnya adalah kumpulan objek System.Diagnostics.EventLogEntry.
Jika hanya parameter Daftar yang ditentukan, outputnya adalah kumpulan objek System.Diagnostics.EventLog.
Jika parameter List dan AsString ditentukan, outputnya adalah kumpulan objek System.String.
Catatan
Cmdlet Get-EventLog
dan Get-WinEvent
tidak didukung di Windows Preinstallation Environment (Windows PE).