这是我的 PowerShell 脚本,用于通过 XML 数据从事件查看器中的自定义视图导出数据。
set-executionpolicy unrestricted
[xml]$CustomView = @"
<QueryList>
<Query Id="0" Path="Application">
<Select Path="Application">*[System[(EventID=4752 or EventID=4720 or EventID=4740 or EventID=4646 or EventID=4747 or EventID=4725 or EventID=4625 or EventID=4728 or EventID=4751)]]</Select>
<Select Path="Security">*[System[(EventID=4752 or EventID=4720 or EventID=4740 or EventID=4646 or EventID=4747 or EventID=4725 or EventID=4625 or EventID=4728 or EventID=4751)]]</Select>
<Select Path="Setup">*[System[(EventID=4752 or EventID=4720 or EventID=4740 or EventID=4646 or EventID=4747 or EventID=4725 or EventID=4625 or EventID=4728 or EventID=4751)]]</Select>
<Select Path="System">*[System[(EventID=4752 or EventID=4720 or EventID=4740 or EventID=4646 or EventID=4747 or EventID=4725 or EventID=4625 or EventID=4728 or EventID=4751)]]</Select>
<Select Path="ForwardedEvents">*[System[(EventID=4752 or EventID=4720 or EventID=4740 or EventID=4646 or EventID=4747 or EventID=4725 or EventID=4625 or EventID=4728 or EventID=4751)]]</Select>
Alot of rules etc... I excluded a couple because it was 300000 characters limited.
</Query>
</QueryList>
"@
Get-WinEvent -FilterXML $CustomView | Export-CSV "C:\LogFiles\ServiceTool_Log_$(Get-Date -format "yyyy-MM-dd").log"
如何将我的日志导出为 .evtx 或 .csv 格式以使其易于阅读?
答案1
您已经以正确的方式使用了 Export-CSV cmmdlet,只需将扩展名更改为 .txt。PowerShell 将以人类可读的格式为您导出它。它应该看起来像这样:
Export-CSV "C:\LogFiles\ServiceTool_Log_$(Get-Date -format "yyyy-MM-dd").txt"
我不确定 .evtx 方面的情况,但将 Export-CSV 转换为 .txt 总是会生成您正在提取的数据的逐行副本。
我曾参考过这之前也曾尝试将自定义数据放入 CSV/Excel 电子表格中。
此引用提供一种使用以下方式导出整个日志的方法wevutil 命令。 您必须检查它是否适用于您的自定义视图。