Bagikan melalui


about_Eventlogs

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.

Lihat juga