利用してCSVファイルに出力することはできますが、evtx形式での出力には対応していません。使って、ログオン履歴のイベントログをEVTX形式でエクスポートする方法を説明します。条件を変更すればログオン履歴ではないイベントも出力することができるかと思います。オプションでリモートサーバのイベントログをエクスポートすることも可能です。以下の条件でイベントログを出力します。現場では「前月1ヶ月分のログを取得」するなどという要件が多いことを踏まえて、対象期間を設定しています。0以下で詳細を説明します。スクリプトが設置されるパスを取得しています。以下を書いておくことで、サーバのどのフォルダに設置しても、ベースとなるパスが取得できます。$myInvocation.MyCommand.path以下で、スクリプトを実行するホストのホスト名を取得します。今回はファイル名にホスト名を使いたかったためです。ホスト名取得$Target_host=$(hostname)以下で、対象期間の開始日時(前月1日の0時0分)を取得します。以下で、対象期間の終了日時(当月1日の0時0分)を取得します。UTC時間に変換します。イベントログのフィルタリングで期間を指定する場合は、UTC時間で指定する必要があるためです。[System.TimeZoneInfo]::ConvertTimeToUtc($enddate).ToString("yyyy-MM-ddTHH:mm:ssZ")以下で、出力するイベントログ(EVTX形式)の保存パスを指定します。このへんは好みですね。以下では、スクリプトを実行したフォルダ内に「hostname_yyyyMM.evtx」というファイル名で出力されるようにしています。エクスポートファイルパス$YearMonth="$LastMonth_year$LastMonth_month"$evtx_filename="${Target_host}_${YearMonth}.evtx"$LocalFilePath="$Current\$evtx_filename"以下では、指定したフィルタ条件でイベントログをエクスポートしています。以降がフィルタリング設定で、XPathクエリと呼ばれるもので、XML形式で書き方が厄介で少しとっつきにくいですが、かなり細かくフィルタ条件を指定できるので、個人的には知っていると重宝するかなぁと。EventData[Data[@Name='LogonType']='$Logon_Type']]"書き方に関しては、イベントログをGUIでフィルターすることで、おおまかな内容は取得できます。セキュリティログを以下のようにフィルター設定を行います。←の画像では、以下のようにフィルター設定をしています。設定が完了したら、XMLタブを選択します。すると、右画像のように、XML形式でのフィルタ設定が表示されます。下部の「手動でクエリを編集する」をチェックすることで、手動でXML形式のフィルター設定をすることもできますので、GUIでXMLのフィルター設定の動作を確認することもできます。フィルターすることができることです。イベントログ共通ではない項目とは、例えば、ログオンのログに記録されるアカウント名や接続元IPアドレスなどです。Applicationのエラーやファイルシステムの異常ログにアカウント名や接続元IPアドレスなんて記録されないですよね。いった特定のイベントにのみ存在する項目は、GUIのフィルターでは設定できないため、XMLで指定する必要があります。逆の視点でいうと、XMLでフィルターすれば大概の項目は指定できるということです。まとめ最近の現場では、監査目的でログを取得したい!という要望をよく聞きますので、触れるようにしておくといつかどこかで役立つかもしれません。Windowsはなんか複雑でとっつきにくいことが多い(触り始めたのがLinuxだった人は特に)と思うこともありますが、頑張れば意外といろいろなことができますね。クライアントマシンとして使うOSもWindowsが大半だと思いますので、こういった小技を知っていると重宝されますよ。表示するフォーマットを備忘録がてらまとめます。Chrome】バックスペース(Backspace)キーで前のページに戻りたいWebブラウザは基本的にBackspaceキーで前のページに戻れると思っていたが、それは間違いだった。コマンドやバッチ処理にかかる時間を調べたいときのやり方を紹介します。...【PowerShell】スクリプトのフォルダパスやファイル名を取得するPowershellのスクリプトのファイル名とフォルダパスを取得する方法を説明します。スクリプトの設置フォルダとファイル名のみとファイル名を含めたフルパスを取得できます。定例的なテキスト整形やデータ集計なんかは、コマンド操作でやっつけてしまいたいですよね。CSVファイルに列(カラム)を追加する方法を紹介します。...タスクスケジューラのタスクを停止するまでの時間でハマったタスクスケジューラで実行中のタスクを自動的に停止するための設定をしていて、少しはまったのでメモを残します。