Informace o eventlogs
Krátký popis
Windows PowerShell vytvoří protokol událostí systému Windows s názvem "Windows PowerShell" pro záznam Windows PowerShell událostí. Tento protokol můžete zobrazit Prohlížeč událostí nebo pomocí rutin, které získávají události, jako je například rutina Get-EventLog
. Ve výchozím nastavení se události Windows PowerShell modulu 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 týkající se příkazů Windows PowerShell.
Dlouhý popis
Protokol událostí Windows PowerShell zaznamenává podrobnosti o Windows PowerShell operacích, jako je spuštění a zastavení modulu programu a spuštění a zastavení zprostředkovatelů Windows PowerShell. Můžete také protokolovat podrobnosti o příkazech Windows PowerShell.
Protokol událostí Windows PowerShell je ve skupině Protokoly aplikací a služeb. Protokol Windows PowerShell je klasický protokol událostí, který nepoužívá technologii Windows Eventing. K zobrazení protokolu použijte rutiny navržené pro klasické protokoly událostí, jako Get-EventLog
je .
Zobrazení protokolu událostí Windows PowerShell
Protokol událostí Windows PowerShell můžete zobrazit v Prohlížeč událostí nebo pomocí Get-EventLog
rutin a Get-WmiObject
. Pokud chcete zobrazit obsah protokolu Windows PowerShell, 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 ( Format
rutiny).
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é použít třídy WMI (Windows Management Instrumentation) související s událostmi ke kontrole protokolu událostí. Pokud například chcete 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 získáte zadáním rutin Get-Help Get-EventLog a Get-Help Get-WmiObject.
Výběr možnosti Události pro protokol událostí Windows PowerShell
Pomocí proměnných předvoleb protokolu událostí můžete určit, které události se zaznamenávají do protokolu událostí Windows PowerShell.
K dispozici je š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ředkovatelé a příkazy. Proměnné LifeCycleEvent protokolují normální události spuštění a zastavení. Události chyb protokolu proměnných stavu.
Následující tabulka obsahuje seznam proměnných předvoleb protokolu událostí.
Proměnná | Popis |
---|---|
$LogEngineLifeCycleEvent | Zaznamená spuštění a zastavení PowerShellu. |
$LogEngineHealthEvent | Protokoluje chyby programu PowerShellu. |
$LogProviderLifeCycleEvent | Protokoluje spuštění a zastavení zprostředkovatelů PowerShellu. |
$LogProviderHealthEvent | Protokoluje chyby zprostředkovatele PowerShellu. |
$LogCommandLifeCycleEvent | Protokoluje spouštění a dokončování příkazů. |
$LogCommandHealthEvent | Protokoluje chyby příkazu |
(Informace o poskytovateli Windows PowerShell najdete v tématu about_Providers.)
Ve výchozím nastavení jsou povolené pouze následující typy událostí:
- $LogEngineLifeCycleEvent
- $LogEngineHealthEvent
- $LogProviderLifeCycleEvent
- $LogProviderHealthEvent
Pokud chcete povolit typ události, nastavte proměnnou předvolby pro tento typ události na $true. Pokud chcete například povolit události životního cyklu příkazu, zadejte:
$LogCommandLifeCycleEvent
Nebo zadejte:
$LogCommandLifeCycleEvent = $true
Pokud chcete zakázat typ události, nastavte proměnnou předvolby pro tento typ události na $false. Pokud chcete například zakázat události životního cyklu příkazu, zadejte:
$LogProviderLifeCycleEvent = $false
Zakázat můžete libovolnou událost s výjimkou událostí, které indikují, že se spustil modul Windows PowerShell a základní poskytovatelé. Tyto události se vygenerují před spuštěním profilů Windows PowerShell a před tím, než hostitelský program bude připraven přijímat příkazy.
Nastavení proměnné platí pouze pro aktuální relaci Windows PowerShell. Pokud je chcete použít pro všechny relace Windows PowerShell, přidejte je do svého Windows PowerShell profilu.
Protokolování událostí modulu
Počínaje Windows PowerShell 3.0 můžete zaznamenávat události spuštění pro rutiny a funkce v modulech Windows PowerShell a modulech snap-in nastavením vlastnosti LogPipelineExecutionDetails modulů a modulů snap-in na hodnotu TRUE. V Windows PowerShell 2.0 je tato funkce dostupná jenom pro moduly snap-in.
Pokud je hodnota vlastnosti LogPipelineExecutionDetails TRUE ($true
), Windows PowerShell zapisuje události spuštění rutin a funkce v relaci do Windows PowerShell přihlášení Prohlížeč událostí. Nastavení je platné pouze v aktuální relaci.
Pokud chcete povolit protokolování událostí spuštění rutin a funkcí v modulu, použijte následující sekvenci příkazů.
Import-Module <ModuleName>
$m = Get-Module <ModuleName>
$m.LogPipelineExecutionDetails = $true
Pokud chcete povolit protokolování událostí spuštění rutin v modulu snap-in, použijte následující příkazovou posloupnost.
$m = Get-PSSnapin <SnapInName> [-Registered]
$m.LogPipelineExecutionDetails = $True
Protokolování zakážete tak, že pomocí stejné sekvence příkazů nastavíte hodnotu vlastnosti na FALSE ($false
).
K povolení a zakázání protokolování modulů a modulů snap-in můžete také použít Zásady skupiny nastavení zapnout protokolování modulu. Hodnota zásady zahrnuje seznam názvů modulů a modulů snap-in. Zástupné cardy jsou podporované.
Pokud je pro modul nastavena možnost Zapnout protokolování modulu, hodnota vlastnosti LogPipelineExecutionDetails tohoto modulu je ve všech relacích true a nelze ji změnit.
Nastavení zásad skupiny Zapnout protokolování modulu se nachází v následujících Zásady skupiny cest:
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ásadou Konfigurace počítače a obě zásady přebírají přednost před hodnotou vlastnosti LogPipelineExecutionDetails modulů a modulů snap-in.
Další informace o tomto nastavení Zásady skupiny najdete v tématu about_Group_Policy_Settings.
Zabezpečení a auditování
Protokol událostí Windows PowerShell je určený k označení aktivity a poskytování provozních podrobností pro řešení potíží.
Stejně jako většina protokolů událostí aplikací založených na Windows ale protokol událostí Windows PowerShell není navržený tak, aby byl zabezpečený. Neměly 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 je uživatelé mohli číst a rozumět jim. Uživatelé můžou z protokolu číst a zapisovat do protokolu. Uživatel se zlými úmysly by mohl přečíst protokol událostí na místním nebo vzdáleném počítači, zaznamenat nepravdivá data a pak zabránit protokolování svých aktivit.
Poznámky
Autoři modulů můžou do svých modulů přidávat funkce protokolování. Další informace najdete v tématu Psaní modulu Windows PowerShell v knihovně MSDN.