Powershell get-eventlog potřebuji vytáhnout text
Zdar,
potřebuji si vyjet z EventLogu posledních 5 zpráv, sekce System, EventID 1 a dostat se k jejich popisům!
Nejdál jsem se dostal sem:
$a = (Get-EventLog -logname system -newest 8000 | Where {$_.EventID -eq 1} )
($a | sort-object -property eventID -descending | select-object -last 5)
ale když si tam hodíte $a|get-member
tak tam nevidíte žádnou property nebo metodu na přístup k popisu eventu- ale když si vlezu do event vieweru, tak jasně vidím, že text tam má. Resp. tady je blízko text v property Message, ale zobrazuje právě blbost:
The description for Event ID '100' in Source 'Microsoft-Windows-Kernel-Gener..' cannot be found. The local computer may not have the necessary registry information or message DLL files to display the message, or you may not have permission to access them. The following information is part of
the event:'2012-03-16T07:33:46.499Z', '2012-03-16T07:33:46.499Z'
Ostatní ID jsou v pohodě, ale tohle prostě má takhle zmšenej popis- nevím proč.
Nejdřív získáš jen ty, který mají eventId 1 a pak je podle té jedničky všechny sortuješ. Spíš asi chces sortovat podle data, nebo indexu, ne?
Hrubě by mohlo stačit
Sice je ten topic už starý a tazatel si jej pravděpodobně již nepřečte.. nicméně, pro zobrazení descriptions je lepší použít GWMI
třeba takto:
$a = get-wmiobject Win32_NTLogEvent -Filter "(Logfile='System') and (EventCode=6009)"
$b = get-wmiobject Win32_NTLogEvent -Filter "(Logfile='System') and (EventCode=6006)"
$ab = $a +=$b
$vystup = ($ab |sort Timegenerated -descending |select @{Name="Date";Expression={$_.ConvertToDateTime($_. TimeGenerated)}},EventCode,SourceName,Message)
$vystup
Descriptions u cmdletu get-eventlog kolikrát vidět nejsou