Windows事件查看器将XML记录为CSV

时间:2016-11-17 23:22:10

标签: xml powershell csv

我试图编写一个基本脚本,从Windows事件日志中为bootTime提取XML,并让多台机器附加到1个文件,准备导入数据库。

当前脚本:

$events = Get-WinEvent -FilterHashtable @{logname="Microsoft-Windows-Diagnostics-Performance/Operational"; id=100}
$event1 = [xml]$events[0].ToXml()
$event2 = [xml]$events[0].ToXml()
$event1.Event.eventdata.data |Export-Csv "C:\data.csv" -Append -NoTypeInformation
$event2.Event.System.Computer |Out-File "C:\data.csv" -Append -Force

最终结果是在CSV的开头有一个列,其中包含计算机名称,然后是其他2列,以便从输出中获取数据。

我可以让计算机名称出现在同一个文件中的唯一方法是使其成为Out-File,我知道输出错误是因为它需要是CSV。

任何帮助将不胜感激。 感谢

1 个答案:

答案 0 :(得分:0)

也许这解决了你的问题:

$dataToExport = New-Object -TypeName System.Object
$dataToExport | Add-Member -MemberType NoteProperty -Name Computer -Value $event2.Event.System.Computer
$dataToExport | Add-Member -MemberType NoteProperty -Name Data -Value $even1.Event.eventdata.data
$dataToExport | Export-Csv "C:\data.csv"