Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Deskripsi singkat
Artikel ini menjelaskan bagaimana PowerShell mencatat peristiwa ke log Peristiwa Windows.
Deskripsi panjang
Windows PowerShell membuat log peristiwa Windows yang bernama "Windows PowerShell" untuk merekam peristiwa Windows PowerShell. Anda dapat melihat log ini dalam Pemantau Peristiwa atau dengan menggunakan cmdlet yang mendapatkan peristiwa, seperti Get-EventLog cmdlet.
Secara default, peristiwa mesin dan penyedia Windows PowerShell direkam di log peristiwa, tetapi Anda dapat menggunakan variabel preferensi log peristiwa untuk menyesuaikan log peristiwa. Misalnya, Anda dapat menambahkan peristiwa tentang perintah Windows PowerShell.
Log peristiwa Windows PowerShell merekam detail operasi Windows PowerShell, seperti memulai dan menghentikan mesin program dan memulai dan menghentikan penyedia Windows PowerShell. Anda juga dapat mencatat detail tentang perintah Windows PowerShell.
Menampilkan log peristiwa Windows PowerShell
Anda dapat melihat log peristiwa Windows PowerShell di Pemantau Peristiwa atau dengan menggunakan Get-EventLog cmdlet dan Get-WmiObject . Untuk menampilkan konten log Windows PowerShell, ketik:
Get-EventLog -LogName "Windows PowerShell"
Untuk memeriksa peristiwa dan propertinya, gunakan Sort-Object cmdlet, Group-Object cmdlet, dan cmdlet yang berisi Format kata kerja ( Format cmdlet).
Misalnya, untuk melihat peristiwa dalam log yang dikelompokkan menurut ID peristiwa, ketik:
Get-EventLog "Windows PowerShell" | Format-Table -GroupBy EventID
Atau, ketik:
Get-EventLog "Windows PowerShell" |
Sort-Object EventID |
Group-Object EventID
Untuk melihat semua log peristiwa klasik, ketik:
Get-EventLog -List
Anda juga dapat menggunakan Get-WmiObject cmdlet untuk menggunakan kelas Windows Management Instrumentation (WMI) terkait peristiwa untuk memeriksa log peristiwa. Misalnya, untuk melihat semua properti file log peristiwa, ketik:
Get-WmiObject Win32_NTEventlogFile |
where LogFileName -EQ "Windows PowerShell" |
Format-List -Property *
Untuk menemukan kelas WMI terkait peristiwa Win32, ketik:
Get-WmiObject -List | where Name -Like "Win32*Event*"
Untuk informasi selengkapnya, lihat Get-EventLog dan Get-WmiObject.
Memilih peristiwa untuk log peristiwa Windows PowerShell
Anda dapat menggunakan variabel preferensi log peristiwa untuk menentukan peristiwa mana yang direkam di log peristiwa Windows PowerShell.
Ada enam variabel preferensi log peristiwa; dua variabel untuk masing-masing dari tiga komponen pengelogan: mesin (program Windows PowerShell), penyedia, dan perintah. Variabel LifecycleEvent mencatat peristiwa mulai dan berhenti normal. Peristiwa kesalahan log variabel Health.
Tabel berikut mencantumkan variabel preferensi log peristiwa.
| Variabel | Deskripsi |
|---|---|
$LogEngineLifecycleEvent |
Mencatat awal dan perhentian PowerShell |
$LogEngineHealthEvent |
Mencatat kesalahan program PowerShell |
$LogProviderLifecycleEvent |
Mencatat awal dan perhentian penyedia PowerShell |
$LogProviderHealthEvent |
Mencatat kesalahan penyedia PowerShell |
$LogCommandLifecycleEvent |
Mencatat awal dan penyelesaian perintah |
$LogCommandHealthEvent |
Kesalahan perintah log |
(Untuk informasi tentang penyedia Windows PowerShell, lihat about_Providers.)
Secara default, hanya jenis peristiwa berikut yang diaktifkan:
$LogEngineLifecycleEvent$LogEngineHealthEvent$LogProviderLifecycleEvent$LogProviderHealthEvent
Untuk mengaktifkan jenis peristiwa, atur variabel preferensi untuk jenis peristiwa tersebut ke $true. Misalnya, untuk mengaktifkan peristiwa siklus hidup perintah, ketik:
$LogCommandLifecycleEvent
Atau, ketik:
$LogCommandLifecycleEvent = $true
Untuk menonaktifkan jenis peristiwa, atur variabel preferensi untuk jenis peristiwa tersebut ke $false. Misalnya, untuk menonaktifkan peristiwa siklus hidup perintah, ketik:
$LogProviderLifecycleEvent = $false
Anda dapat menonaktifkan peristiwa apa pun, kecuali untuk peristiwa yang menunjukkan bahwa mesin Windows PowerShell dan penyedia inti dimulai. Peristiwa ini dihasilkan sebelum profil Windows PowerShell berjalan dan sebelum program host siap menerima perintah.
Pengaturan variabel hanya berlaku untuk sesi Windows PowerShell saat ini. Untuk menerapkannya ke semua sesi Windows PowerShell, tambahkan ke profil Windows PowerShell Anda.
Peristiwa modul pengelogan
Dimulai di Windows PowerShell 3.0, Anda dapat merekam peristiwa eksekusi untuk cmdlet dan fungsi dalam modul dan snap-in Windows PowerShell dengan mengatur properti LogPipelineExecutionDetails modul dan snap-in ke $true. Di Windows PowerShell 2.0, fitur ini hanya tersedia untuk snap-in.
Ketika nilai properti LogPipelineExecutionDetails adalah $true, Windows PowerShell menulis cmdlet dan peristiwa eksekusi fungsi dalam sesi ke log Windows PowerShell di Pemantau Peristiwa. Pengaturan hanya efektif dalam sesi saat ini.
Untuk mengaktifkan pengelogan peristiwa eksekusi cmdlet dan fungsi dalam modul, gunakan urutan perintah berikut.
Import-Module Microsoft.PowerShell.Archive
$m = Get-Module Microsoft.PowerShell.Archive
$m.LogPipelineExecutionDetails = $true
Untuk mengaktifkan pengelogan peristiwa eksekusi cmdlet dalam snap-in, gunakan urutan perintah berikut.
$m = Get-PSSnapin Microsoft.PowerShell.Core
$m.LogPipelineExecutionDetails = $true
Untuk menonaktifkan pengelogan, gunakan urutan perintah yang sama untuk mengatur nilai properti ke $false.
Anda juga dapat menggunakan pengaturan Aktifkan Kebijakan Grup Pengelogan Modul untuk mengaktifkan dan menonaktifkan modul dan pengelogan snap-in. Nilai kebijakan mencakup daftar nama modul dan snap-in. Penggunaan wildcard didukung.
Saat Aktifkan Pengelogan Modul diatur untuk modul, nilai properti LogPipelineExecutionDetails modul berada $true di semua sesi dan tidak dapat diubah.
Pengaturan kebijakan grup "Aktifkan Pengelogan Modul" terletak di jalur Kebijakan Grup berikut:
Computer Configuration\
Administrative Templates\
Windows Components\
Windows PowerShell
User Configuration\
Administrative Templates\
Windows Components\
Windows PowerShell
Kebijakan Konfigurasi Pengguna lebih diutamakan daripada kebijakan Konfigurasi Komputer, dan kedua kebijakan mengambil preferensi atas nilai properti LogPipelineExecutionDetails modul dan snap-in.
Untuk informasi selengkapnya tentang pengaturan Kebijakan Grup ini, lihat about_Group_Policy_Settings.
Keamanan dan audit
Log peristiwa Windows PowerShell dirancang untuk menunjukkan aktivitas dan memberikan detail operasional untuk pemecahan masalah.
Namun, seperti kebanyakan log peristiwa aplikasi berbasis Windows, log peristiwa Windows PowerShell tidak dirancang agar aman. Ini tidak boleh digunakan untuk mengaudit keamanan atau untuk merekam informasi rahasia atau kepemilikan.
Log peristiwa dirancang untuk dibaca dan dipahami oleh pengguna. Pengguna dapat membaca dari dan menulis ke log. Pengguna berbahaya dapat membaca log peristiwa di komputer lokal atau jarak jauh, merekam data palsu, lalu mencegah pengelogan aktivitas mereka.
Catatan
Penulis penulis modul dapat menambahkan fitur pengelogan ke modul mereka. Untuk informasi selengkapnya, lihat Menulis Modul Windows PowerShell.