about_Eventlogs
Krátký popis
Tento článek popisuje, jak PowerShell protokoluje události do protokolu událostí Systému Windows.
Dlouhý popis
Windows PowerShell vytvoří protokol událostí Windows s názvem Windows PowerShell, který zaznamená události Windows PowerShellu. Toto přihlášení můžete zobrazit Prohlížeč událostí nebo pomocí rutin, které získávají události, jako je například rutinaGet-EventLog
.
Ve výchozím nastavení se události modulu Windows PowerShellu a zprostředkovatele zaznamenávají do protokolu událostí, ale k přizpůsobení protokolu událostí můžete použít proměnné předvoleb protokolu událostí. Můžete například přidat události o příkazech Windows PowerShellu.
Protokol událostí Windows PowerShellu zaznamenává podrobnosti o operacích Windows PowerShellu, jako je spuštění a zastavení programového modulu a spuštění a zastavení zprostředkovatelů Windows PowerShellu. Můžete také protokolovat podrobnosti o příkazech Windows PowerShellu.
Zobrazení protokolu událostí Windows PowerShellu
Protokol událostí Windows PowerShellu můžete zobrazit Prohlížeč událostí nebo pomocí rutinGet-EventLog
.Get-WmiObject
Pokud chcete zobrazit obsah protokolu Windows PowerShellu, zadejte:
Get-EventLog -LogName "Windows PowerShell"
Pokud chcete prozkoumat události a jejich vlastnosti, použijte rutinu Sort-Object
, rutinu Group-Object
a rutiny, které obsahují Format
příkaz (rutiny Format
).
Pokud chcete například zobrazit události v protokolu seskupené podle ID události, zadejte:
Get-EventLog "Windows PowerShell" | Format-Table -GroupBy EventID
Nebo zadejte:
Get-EventLog "Windows PowerShell" |
Sort-Object EventID |
Group-Object EventID
Pokud chcete zobrazit všechny klasické protokoly událostí, zadejte:
Get-EventLog -List
Pomocí rutiny Get-WmiObject
můžete také prozkoumat protokol událostí třídy WMI (Windows Management Instrumentation). Pokud chcete například zobrazit všechny vlastnosti souboru protokolu událostí, zadejte:
Get-WmiObject Win32_NTEventlogFile |
where LogFileName -EQ "Windows PowerShell" |
Format-List -Property *
Pokud chcete najít třídy služby WMI související s událostmi Win32, zadejte:
Get-WmiObject -List | where Name -Like "win32*event*"
Další informace naleznete v tématu Get-EventLog a Get-WmiObject.
Výběr událostí pro protokol událostí Windows PowerShellu
Pomocí proměnných předvoleb protokolu událostí můžete určit, které události se zaznamenávají v protokolu událostí Windows PowerShellu.
Existuje šest proměnných předvoleb protokolu událostí; dvě proměnné pro každou ze tří komponent protokolování: modul (program Windows PowerShell), zprostředkovatele a příkazy. Proměnné LifeCycleEvent protokolují normální spouštění a zastavování událostí. Události chyb protokolu proměnných stavu.
Následující tabulka uvádí proměnné předvoleb protokolu událostí.
Proměnná | Popis |
---|---|
$LogEngineLifeCycleEvent |
Zaznamená spuštění a zastavení PowerShellu. |
$LogEngineHealthEvent |
Protokoly chyb programu PowerShellu |
$LogProviderLifeCycleEvent |
Zaznamená spuštění a zastavení zprostředkovatelů PowerShellu. |
$LogProviderHealthEvent |
Protokoluje chyby zprostředkovatele PowerShellu. |
$LogCommandLifeCycleEvent |
Zaznamenává spouštění a dokončování příkazů. |
$LogCommandHealthEvent |
Protokoly chyb příkazů |
(Informace o poskytovateli Windows PowerShellu najdete v tématu about_Providers.)
Ve výchozím nastavení jsou povoleny pouze následující typy událostí:
$LogEngineLifeCycleEvent
$LogEngineHealthEvent
$LogProviderLifeCycleEvent
$LogProviderHealthEvent
Chcete-li povolit typ události, nastavte pro tento typ události předvolbu na $true
hodnotu . Pokud chcete například povolit události životního cyklu příkazů, zadejte:
$LogCommandLifeCycleEvent
Nebo zadejte:
$LogCommandLifeCycleEvent = $true
Chcete-li zakázat typ události, nastavte proměnnou předvoleb pro tento typ události na $false
hodnotu . Pokud chcete například zakázat události životního cyklu příkazů, zadejte:
$LogProviderLifeCycleEvent = $false
Můžete zakázat libovolnou událost s výjimkou událostí, které značí, že se spustil modul Windows PowerShellu a hlavní zprostředkovatelé. Tyto události se generují před spuštěním profilů Prostředí Windows PowerShell a před tím, než je hostitelský program připravený přijímat příkazy.
Nastavení proměnných platí jenom pro aktuální relaci Windows PowerShellu. Pokud je chcete použít pro všechny relace Windows PowerShellu, přidejte je do profilu Windows PowerShellu.
Protokolování událostí modulu
Počínaje windows PowerShellem 3.0 můžete zaznamenávat události provádění rutin a funkcí v modulech a modulech Windows PowerShellu a moduly snap-in nastavením vlastnosti LogPipelineExecutionDetails modulů a modulů snap-in na $true
. Ve Windows PowerShellu 2.0 je tato funkce dostupná jenom pro moduly snap-in.
Pokud je $true
hodnota vlastnosti LogPipelineExecutionDetails , Windows PowerShell zapíše rutiny a události provádění funkcí v relaci do protokolu Windows PowerShellu Prohlížeč událostí. Nastavení je platné jenom v aktuální relaci.
Pokud chcete povolit protokolování událostí provádění rutin a funkcí v modulu, použijte následující posloupnost příkazů.
Import-Module Microsoft.PowerShell.Archive
$m = Get-Module Microsoft.PowerShell.Archive
$m.LogPipelineExecutionDetails = $true
Pokud chcete povolit protokolování událostí provádění rutin v modulu snap-in, použijte následující posloupnost příkazů.
$m = Get-PSSnapin Microsoft.PowerShell.Core
$m.LogPipelineExecutionDetails = $True
Chcete-li protokolování zakázat, použijte stejnou posloupnost příkazů k nastavení hodnoty vlastnosti na $false
.
K povolení a zakázání modulu a protokolování modulu můžete použít také nastavení zapnout a zakázat protokolování modulu a modulu snap-in. Hodnota zásady obsahuje seznam názvů modulů a modulů snap-in. Podporují se zástupné kóty.
Pokud je pro modul nastavená možnost Zapnout protokolování modulu, hodnota vlastnosti LogPipelineExecutionDetails modulu je $true
ve všech relacích a nedá se změnit.
Nastavení zásad skupiny Zapnout protokolování modulu se nachází v následujících cestách zásad skupiny:
Computer Configuration\
Administrative Templates\
Windows Components\
Windows PowerShell
User Configuration\
Administrative Templates\
Windows Components\
Windows PowerShell
Zásady konfigurace uživatele mají přednost před zásadami konfigurace počítače a obě zásady mají přednost před hodnotou LogPipelineExecutionDetails vlastností modulů a modulů snap-in.
Další informace o tomto nastavení zásad skupiny najdete v tématu about_Group_Policy_Nastavení.
Zabezpečení a auditování
Protokol událostí Windows PowerShellu je navržený tak, aby označil aktivitu a poskytl provozní podrobnosti pro řešení potíží.
Stejně jako většina protokolů událostí aplikací založených na Windows ale protokol událostí Windows PowerShellu není navržený tak, aby byl zabezpečený. Nemělo by se používat k auditování zabezpečení ani k zaznamenávání důvěrných nebo vlastnických informací.
Protokoly událostí jsou navržené tak, aby byly čtené a srozumitelné uživatelům. Uživatelé můžou číst protokol a zapisovat do protokolu. Uživatel se zlými úmysly může číst protokol událostí na místním nebo vzdáleném počítači, zaznamenávat falešná data a pak zabránit protokolování svých aktivit.
Notes
Autoři modulů můžou do svých modulů přidávat funkce protokolování. Další informace najdete v tématu Psaní modulu Windows PowerShellu.
Viz také
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro