将自定义视图事件查看器导出为 .evtx Powershell 的脚本

将自定义视图事件查看器导出为 .evtx Powershell 的脚本

这是我的 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 命令。 您必须检查它是否适用于您的自定义视图。

相关内容