Share via


about_Eventlogs

Rövid leírás

Ez a cikk azt ismerteti, hogyan naplózza a PowerShell az eseményeket a Windows eseménynaplójába.

Hosszú leírás

A Windows PowerShell létrehoz egy "Windows PowerShell" nevű Windows-eseménynaplót a Windows PowerShell-események rögzítéséhez. Ezt a naplót Eseménynapló vagy eseményeket lekérő parancsmagok, például a Get-EventLog parancsmag használatával tekintheti meg. Alapértelmezés szerint a Windows PowerShell-motor és a szolgáltató eseményei rögzítve vannak az eseménynaplóban, de az eseménynapló beállítási változóival testre szabhatja az eseménynaplót. Hozzáadhat például eseményeket a Windows PowerShell-parancsokkal kapcsolatban.

A Windows PowerShell eseménynaplója rögzíti a Windows PowerShell-műveletek részleteit, például a programmotor indítását és leállítását, valamint a Windows PowerShell-szolgáltatók elindítását és leállítását. A Windows PowerShell-parancsokkal kapcsolatos részleteket is naplózhatja.

A Windows PowerShell eseménynaplójának megtekintése

A Windows PowerShell eseménynaplóját Eseménynapló vagy a Get-EventLog parancsmagok Get-WmiObject használatával tekintheti meg. A Windows PowerShell-napló tartalmának megtekintéséhez írja be a következőt:

Get-EventLog -LogName "Windows PowerShell"

Az események és tulajdonságaik vizsgálatához használja a Sort-Object parancsmagot, a Group-Object parancsmagot és az igét (a Format parancsmagokat) tartalmazó Format parancsmagokat.

Ha például az eseményazonosító szerint csoportosított napló eseményeit szeretné megtekinteni, írja be a következőt:

Get-EventLog "Windows PowerShell" | Format-Table -GroupBy EventID

Vagy írja be a következőt:

Get-EventLog "Windows PowerShell" |
  Sort-Object EventID |
  Group-Object EventID

A klasszikus eseménynaplók megtekintéséhez írja be a következőt:

Get-EventLog -List

A parancsmaggal Get-WmiObject az eseménynapló vizsgálatához használhatja az eseményhez kapcsolódó Windows Management Instrumentation (WMI) osztályokat is. Az eseménynapló-fájl összes tulajdonságának megtekintéséhez például írja be a következőt:

Get-WmiObject Win32_NTEventlogFile |
  where LogFileName -EQ "Windows PowerShell" |
  Format-List -Property *

A Win32 eseményhez kapcsolódó WMI-osztályok megkereséséhez írja be a következőt:

Get-WmiObject -List | where Name -Like "win32*event*"

További információ: Get-EventLog és Get-WmiObject.

Események kiválasztása a Windows PowerShell-eseménynaplóhoz

Az eseménynapló beállítási változói segítségével meghatározhatja, hogy mely események vannak rögzítve a Windows PowerShell eseménynaplójában.

Hat eseménynapló-beállítási változó létezik; két változó a három naplózási összetevő mindegyikéhez: a motorhoz (a Windows PowerShell programhoz), a szolgáltatókhoz és a parancsokhoz. Az ÉletciklusEvent változók normál indítási és leállítási eseményeket naplóznak. Az állapotváltozók hibaeseményeket naplóznak.

Az alábbi táblázat az eseménynapló beállítási változóit sorolja fel.

Változó Leírás
$LogEngineLifeCycleEvent Naplózza a PowerShell indítását és leállítását
$LogEngineHealthEvent A PowerShell-program hibáinak naplózása
$LogProviderLifeCycleEvent Naplózza a PowerShell-szolgáltatók indítását és leállítását
$LogProviderHealthEvent A PowerShell-szolgáltató hibáinak naplózása
$LogCommandLifeCycleEvent Naplózza a parancsok indítását és befejezését
$LogCommandHealthEvent Naplók parancshibái

(További információ a Windows PowerShell-szolgáltatókról: about_Providers.)

Alapértelmezés szerint csak a következő eseménytípusok vannak engedélyezve:

  • $LogEngineLifeCycleEvent
  • $LogEngineHealthEvent
  • $LogProviderLifeCycleEvent
  • $LogProviderHealthEvent

Egy eseménytípus engedélyezéséhez állítsa az adott eseménytípus beállítási változóját a következőre $true: . A parancs életciklus-eseményeinek engedélyezéséhez például írja be a következőt:

$LogCommandLifeCycleEvent

Vagy írja be a következőt:

$LogCommandLifeCycleEvent = $true

Egy eseménytípus letiltásához állítsa az adott eseménytípus beállítási változóját a következőre $false: . A parancs életciklus-eseményeinek letiltásához például írja be a következőt:

$LogProviderLifeCycleEvent = $false

Bármilyen eseményt letilthat, kivéve azokat az eseményeket, amelyek azt jelzik, hogy a Windows PowerShell-motor és az alapvető szolgáltatók elindultak. Ezek az események a Windows PowerShell-profilok futtatása előtt jönnek létre, és mielőtt a gazdaprogram készen áll a parancsok elfogadására.

A változóbeállítások csak az aktuális Windows PowerShell-munkamenetre vonatkoznak. Ha az összes Windows PowerShell-munkamenetre alkalmazni szeretné őket, vegye fel őket a Windows PowerShell-profiljába.

Naplózási modul eseményei

A Windows PowerShell 3.0-tól kezdve a Windows PowerShell-modulokban és beépülő modulokban lévő parancsmagok és függvények végrehajtási eseményeit rögzítheti a modulok és beépülő modulok LogPipelineExecutionDetails$truetulajdonságának beállításával. A Windows PowerShell 2.0-ban ez a funkció csak beépülő modulokhoz érhető el.

Ha a LogPipelineExecutionDetails tulajdonság értéke az$true, a Windows PowerShell a munkamenet parancsmagjait és függvényvégrehajtási eseményeit írja a Windows PowerShell-naplóba Eseménynapló. A beállítás csak az aktuális munkamenetben érvényes.

Ha engedélyezni szeretné a parancsmagok és függvények végrehajtási eseményeinek naplózását egy modulban, használja az alábbi parancsütemezést.

Import-Module Microsoft.PowerShell.Archive
$m = Get-Module Microsoft.PowerShell.Archive
$m.LogPipelineExecutionDetails = $true

Ha engedélyezni szeretné a parancsmagok végrehajtási eseményeinek naplózását egy beépülő modulban, használja az alábbi parancsütemezést.

$m = Get-PSSnapin Microsoft.PowerShell.Core
$m.LogPipelineExecutionDetails = $True

A naplózás letiltásához használja ugyanazt a parancsütemezést a tulajdonság értékének beállításához $false.

A Modulnaplózási csoportházirend bekapcsolása beállítással engedélyezheti és letilthatja a modul- és beépülő modulnaplózást. A szabályzat értéke tartalmazza a modulok és beépülő modulok nevét. A helyettesítő karakterek támogatottak.

Ha egy modulhoz be van állítva a Modulnaplózás bekapcsolása, a modul LogPipelineExecutionDetails tulajdonságának értéke minden munkamenetben megtalálható $true , és nem módosítható.

A "Modulnaplózás bekapcsolása" csoportházirend-beállítás a következő csoportházirend-útvonalakon található:

Computer Configuration\
  Administrative Templates\
    Windows Components\
     Windows PowerShell

User Configuration\
  Administrative Templates\
    Windows Components\
      Windows PowerShell

A felhasználói konfigurációs házirend elsőbbséget élvez a számítógép konfigurációs szabályzatával szemben, és mindkét házirend előnyben részesíti a modulok és beépülő modulok LogPipelineExecutionDetails tulajdonságának értékét.

Erről a csoportházirend-beállításról további információt a about_Group_Policy_Gépház című témakörben talál.

Biztonság és naplózás

A Windows PowerShell eseménynaplója a tevékenység jelzésére és a hibaelhárítás működési részleteinek megadására szolgál.

A Legtöbb Windows-alapú alkalmazásesemény-naplóhoz hasonlóan azonban a Windows PowerShell eseménynaplója nem biztonságos. Nem használható biztonsági naplózásra, illetve bizalmas vagy védett adatok rögzítésére.

Az eseménynaplókat úgy tervezték, hogy a felhasználók elolvassák és megértsék. A felhasználók olvashatnak a naplóból, és írhatnak a naplóba. A rosszindulatú felhasználók beolvashatnak egy eseménynaplót egy helyi vagy távoli számítógépen, hamis adatokat rögzíthetnek, majd megakadályozhatják a tevékenységeik naplózását.

Jegyzetek

A modulszerzők naplózási funkciókat adhatnak a moduljukhoz. További információ: Windows PowerShell-modul írása.

Lásd még