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$true
tulajdonsá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
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: