Sdílet prostřednictvím


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-EventLogje .

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.

Viz také

Get-EventLog

Get-WmiObject

about_Group_Policy_Settings

about_Preference_Variables