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
Get-EventLog
Cmdlet mendapatkan peristiwa dan log 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 Get-EventLog
parameter dan nilai properti untuk mencari peristiwa. Cmdlet mendapatkan peristiwa yang cocok dengan nilai properti yang ditentukan.
Cmdlet PowerShell yang berisi EventLog
pekerjaan kata benda 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
.
Catatan
Get-EventLog
menggunakan API Win32 yang tidak digunakan lagi. Hasilnya mungkin tidak akurat. Get-WinEvent
Gunakan cmdlet 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
Get-EventLog
Cmdlet 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...
Get-EventLog
Cmdlet 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
Get-EventLog
Cmdlet menggunakan parameter LogName untuk menentukan log Sistem. Parameter Terbaru memilih 1000 peristiwa terbaru. Objek peristiwa disimpan dalam $Events
variabel. Objek $Events
dikirimkan alur ke Group-Object
cmdlet.
Group-Object
menggunakan parameter Properti untuk mengelompokkan objek menurut sumber dan menghitung jumlah objek untuk setiap sumber. Parameter NoElement menghapus anggota grup dari output.
Sort-Object
Cmdlet menggunakan parameter Properti untuk mengurutkan menurut jumlah 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...
Get-EventLog
Cmdlet 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...
Get-EventLog
Cmdlet 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
Get-EventLog
Cmdlet 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 Pesan yang Anda tentukan 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'...
Get-EventLog
Cmdlet 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 :
Get-EventLog
Cmdlet menggunakan parameter LogName untuk menentukan log peristiwa Sistem. Parameter Terbaru memilih objek peristiwa terbaru. Objek disimpan dalam $A
variabel . Objek dalam $A
variabel dikirimkan alur ke Select-Object
cmdlet.
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.
Get-EventLog
Cmdlet menggunakan parameter LogName untuk menentukan log peristiwa Aplikasi. Parameter Sumber menentukan nama aplikasi, Outlook. Objek dikirimkan alur ke Where-Object
cmdlet. Untuk setiap objek dalam alur, Where-Object
cmdlet menggunakan variabel $_.EventID
untuk membandingkan properti ID Peristiwa dengan nilai yang ditentukan. Objek dikirimkan alur ke Select-Object
cmdlet. 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
Get-EventLog
Cmdlet menggunakan parameter LogName untuk menentukan log Sistem. Parameter UserName menyertakan kartubebas tanda bintang (*
) untuk menentukan sebagian nama pengguna. Objek peristiwa dikirimkan alur ke Group-Object
cmdlet. Group-Object
menggunakan parameter Properti untuk menentukan bahwa properti UserName digunakan untuk mengelompokkan objek dan menghitung jumlah objek untuk setiap nama pengguna. Parameter NoElement menghapus anggota grup dari output. Objek dikirimkan alur ke Select-Object
cmdlet.
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 Sesudah 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...
Get-Date
Cmdlet menggunakan parameter Tanggal untuk menentukan tanggal dan waktu. Objek DateTime disimpan dalam $Begin
variabel dan $End
. Get-EventLog
Cmdlet menggunakan parameter LogName untuk menentukan log Sistem. Parameter EntryType menentukan jenis peristiwa Kesalahan. Rentang tanggal dan waktu diatur oleh parameter $Begin
Dan variabel After serta parameter dan $End
variabel Before.
Parameter
-After
Mendapatkan peristiwa yang terjadi setelah tanggal dan waktu tertentu. Tanggal dan waktu parameter Setelah dikecualikan dari output. Masukkan objek DateTime , seperti nilai yang dikembalikan oleh Get-Date
cmdlet.
Type: | DateTime |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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 tambahan.
Untuk melihat efek parameter ini, pipa peristiwa ke Get-Member
cmdlet dan periksa nilai TypeName dalam hasilnya.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-AsString
Menunjukkan bahwa cmdlet ini mengembalikan output sebagai string, bukan objek.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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 Get-Date
cmdlet.
Type: | DateTime |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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.
Type: | String[] |
Aliases: | Cn |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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
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
Menentukan nilai indeks yang akan didapatkan dari log peristiwa. Parameter menerima string nilai yang dipisahkan koma.
Type: | Int32[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InstanceId
Menentukan ID Instans yang akan didapatkan dari log peristiwa. Parameter menerima string nilai yang dipisahkan koma.
Type: | Int64[] |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-List
Menampilkan daftar log kejadian pada komputer.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-LogName
Menentukan nama satu log peristiwa. Untuk menemukan nama log, gunakan Get-EventLog -List
. Karakter kartubebas diizinkan. Parameter ini diperlukan.
Type: | String |
Aliases: | LN |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-Message
Menentukan string dalam pesan peristiwa. Anda dapat menggunakan parameter ini untuk mencari pesan yang berisi kata atau frasa tertentu. Kartubebas diizinkan.
Type: | String |
Aliases: | MSG |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-Newest
Dimulai dengan peristiwa terbaru dan mendapatkan jumlah peristiwa yang ditentukan. Jumlah peristiwa diperlukan, misalnya -Newest 100
. Menentukan jumlah maksimum peristiwa yang dikembalikan.
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Source
Menentukan, sebagai array string, sumber yang ditulis ke log yang didapat cmdlet ini. Kartubebas diizinkan.
Type: | String[] |
Aliases: | ABO |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
Input
None
Anda tidak dapat menyalurkan input ke Get-EventLog
.
Output
System.Diagnostics.EventLogEntry. System.Diagnostics.EventLog. System.String
Jika parameter LogName ditentukan, output adalah kumpulan objek System.Diagnostics.EventLogEntry.
Jika hanya parameter Daftar yang ditentukan, output adalah kumpulan objek System.Diagnostics.EventLog .
Jika parameter Daftar dan AsString ditentukan, outputnya adalah kumpulan objek System.String.
Catatan
Cmdlet Get-EventLog
dan Get-WinEvent
tidak didukung di Windows Preinstallation Environment (Windows PE).
Link Terkait
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk