もう1つの答えは、この背後にある理由をカバーしています。最新のシステムでは、ほとんどの場合、イベントビューアーGUI内でのロード時間はある程度耐えられます。バックアップする場所に現在のログをコピーしてからクリアすることも適切です。
とにかく生成される大きなログファイルを解析するには、2つの適切なオプションが発生します。
1)現在のGUIが管理できるよりも速くログを解析するか、2)ログを個別のファイルに分割します。
2)には簡単に利用できるユーティリティがあるはずなので、1)に焦点を当てます。
まず、Powershellには「get-winevent」と呼ばれるこの機能のための優れたコマンドレットがあります。私が見た中で最も速いパフォーマンスは、ハッシュテーブルの使用を伴います。以下は、最終日から特定のユーザーに関連するセキュリティログ内のすべてのイベントを取得する例です。
$timeframe = (get-date) - (new-timespan -day 1)
$userevt = Get-WinEvent -ComputerName <specify> -FilterHashTable @{LogName='Security'; Data='<enter username here>'; StartTime=$timeframe}
$ userevtはイベントのコレクションになりました。一致する数に応じて、それをformat-listにパイプ処理して、少数のイベントを簡単に読み取ることができます。中程度の数の場合、同じことを行いますが、出力をファイルにリダイレクトします。
$userevt | format-list > <outputfile>.txt
多数の場合、フィルタリングを開始します(たとえば、上記で取得したユーザーのロックアウトイベントの呼び出し元コンピューターが必要です)。
$userevt | %{if ($_.message -match "Caller Computer .*") {$matches[0]}}
これにより、ロックアウトイベントごとに単一行の結果が表示されます。上記のプロセスは、2008 R2で4 GBのログを記録するのに通常1〜4分かかります。
第二に、特に管理しなければならない2003マシンの場合、イベントビューアーの左ペインで特定のログファイルを右クリックし、[ログファイルの名前を付けて保存]を選択できます。
ローカルコンピューターでイベントビューアーを実行している場合は、get-wineventで解析できる.evtファイルを保存できます。
または、grepやfindstrなどの適切なコマンドラインユーティリティ、またはnotepad ++などの特定のプログラムで解析できるテキストファイルまたはCSVファイル(CSVの方が簡単です)を保存できます。