Get-winEvent 到 XML,现在如何获取值



我对Powershell比较陌生,对SQL更熟悉。

我需要从事件日志中获取一些数据。到目前为止,我已经设法确定我需要使用 Get-WinEvent 并使用 xml 元素来获取我想要的实际信息。

到目前为止,我已经得到了:

$filterxml = "

*[System[(EventID='4624')]]
and
(
*[EventData[Data[@Name='LogonType'] and (Data='10')]]
or
*[EventData[Data[@Name='LogonType'] and (Data='2')]]
)

"
$Events = Get-WinEvent -maxEvents 1 -Filterxml $filterXml
# Get out the event message data            
ForEach ($Event in $Events) {            
# Convert the event to XML            
$eventXML = [xml]$Event.ToXml() 
#Now what?? I need to find out how to return the actual data in a form I 
#can put into a datatable.
}

似乎很容易将值提取到变量中或直接放入数据表等中。

我一直在寻找解决方案一段时间,但没有任何运气。

您可以使用Get-EventLog

$eventsIncludingTheId = Get-EventLog -LogName Application | ? { $_.EventID -eq 4624} 
# Export data as XML
$eventsIncludingTheId | Export-Clixml C:tempexport.xml
# Reimport data from XML
$events = Import-Clixml C:tempexport.xml

Get-EventLog通过-LogName为您提供不同的事件日志部分(应用程序、系统等(。

如果您想知道Get-Eventlog提供哪些属性,您可以执行以下操作:

Get-EventLog -LogName Application | select -first 1 | gm

这将显示您可以在Where-Object子句中使用的所有属性 (? { $_.EventID -eq 1234(

希望有帮助

相关内容

  • 没有找到相关文章

最新更新