web-dev-qa-db-ja.com

カスタムビューのイベントビューアを.evtxPowershellにエクスポートするスクリプト

これは、XMLデータを介してイベントビューアのカスタムビューからデータをエクスポートするためのPowerShellスクリプトです。

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としてエクスポートして、人間が読める形式にするにはどうすればよいですか?

3
user3603657

すでにExport-CSVcmmdletを正しい方法で使用しているので、拡張子を.txtに変更するだけです。 PowerShellは、人間が読める形式でエクスポートします。次のようになります。

Export-CSV "C:\LogFiles\ServiceTool_Log_$(Get-Date -format "yyyy-MM-dd").txt"

.evtx側についてはよくわかりませんが、.txtに対してExport-CSVを実行すると、抽出するデータの行ごとのレプリカが常に生成されます。

以前にもCSV/Excelスプレッドシートにカスタムデータを取得しようとしたときに、 this を参照しました。

このリファレンスwevutilコマンドを使用してログ全体をエクスポートする方法を提供します。それがカスタムビューかどうか。

1
Brad Bouchard