Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Krátký popis
Windows PowerShell vytvoří protokol událostí Windows s názvem "Windows PowerShell" pro záznam událostí Windows PowerShell. 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.
Dlouhý popis
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.
Protokol událostí prostředí Windows PowerShell se nachází ve skupině Protokoly aplikací a služeb. Protokol prostředí Windows PowerShell je klasický protokol událostí, který nepoužívá technologii Windows Eventing. Chcete-li zobrazit protokol, použijte rutiny určené pro klasické protokoly událostí, jako je Get-EventLog.
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*"
Pro více informací zadejte "Get-Help Get-EventLog" a "Get-Help 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 proměnnou předvoleb pro tento typ události na $true. 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. 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é indikují, že je spuštěn modul Windows PowerShell a základní poskytovatelé. Tyto události se generují před spuštěním profilů 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 PowerShell 3.0 můžete zaznamenávat události provádění rutin a funkcí v modulech a modulech snap-in Windows PowerShell 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 hodnota vlastnosti LogPipelineExecutionDetails TRUE ($true), Windows PowerShell zapisuje události spuštění rutin a funkcí v relaci do protokolu Windows PowerShell v Prohlížeči 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 <ModuleName>
$m = Get-Module <ModuleName>
$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 <SnapInName> [-Registered]
$m.LogPipelineExecutionDetails = $True
Chcete-li protokolování zakázat, použijte stejnou sekvenci příkazů k nastavení hodnoty vlastnosti na FALSE ($false).
Můžete také použít nastavení zásad skupiny Zapnout protokolování modulů a modulů snap-in k povolení a zakázání protokolování modulů a modulů snap-in. Hodnota zásady obsahuje seznam názvů modulů a modulů snap-in. Zástupné znaky jsou podporovány.
Pokud je pro modul nastaveno "Zapnout protokolování modulu", hodnota vlastnosti LogPipelineExecutionDetails modulu je TRUE ve všech relacích a nelze ji změnit.
Nastavení zásad skupiny Zapnout protokolování modulů 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_Settings.
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 systému Windows však protokol událostí prostředí Windows PowerShell není navržen tak, aby byl zabezpečený. Neměly by být používány k auditu bezpečnosti nebo k zaznamenávání důvěrných nebo chráněný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.
Poznámky
Autoři modulů můžou do svých modulů přidávat funkce protokolování. Další informace naleznete v tématu Zápis modulu Windows PowerShell v knihovně MSDN.