Windows Server
 Computer >> コンピューター >  >> システム >> Windows Server

PowerShellまたはWevtutilを使用してWindowsイベントログをクリアする方法

コンピューターやサーバー上のWindowsイベントログから、すべてのエントリを削除したいケースがあります。もちろん、イベントビューアーのGUI(Eventvwr.msc)からシステムログをクリアすることも可能です(対象のログを右クリックし、「ログのクリア」を選択)。しかし、Windows Vista以降、システムはさまざまなコンポーネントごとに数十種類ものログを使用しており、イベントビューアーから手作業ですべてをクリアするのは非常に手間がかかります。

そこで便利なのが、コマンドラインからの操作です。PowerShellまたは内蔵コンソールツールwevtutilを使えば、効率的にログをクリアできます。

PowerShellでイベントログをクリアする

PowerShell 3.0がインストールされている環境(Windows 8 / Windows Server 2012以降では標準搭載)では、Get-EventLogおよびClear-EventLogコマンドレットを使用して、イベントログの一覧取得とクリアが行えます。

まず、管理者権限でPowerShellコンソールを起動し、以下のコマンドを実行して、システムに登録されているすべての標準イベントログの一覧を、最大サイズとイベント数とともに表示します。

Get-EventLog –LogName *

特定のイベントログ(例:Systemログ)の全エントリをクリアするには、次のコマンドを使用します。

Clear-EventLog –LogName System

このコマンドを実行すると、該当ログのすべてのイベントが削除され、EventId 104(メッセージ:「The System log file was cleared」)の1件のみが残ります。

すべてのイベントログを一括でクリアする場合、パイプライン経由でログ名を直接渡すことは許可されていないため、ForEachループを使用します。

Get-EventLog -LogName * | ForEach { Clear-EventLog $_.Log }

これにより、すべての標準イベントログがクリアされます。

WevtUtil.exeでログをクリアする

Windowsには、イベント操作用のコマンドラインユーティリティWevtUtil.exeが古くから搭載されています。構文は一見複雑に見えますが、使いこなせば非常に強力なツールです。ヘルプは以下のように表示されます。

システムに登録されているログの一覧を表示するには、次のコマンドを実行します。

WevtUtil enum-logs
または短縮版:

WevtUtil el

画面にはかなりの数のログ一覧が表示されます。

補足: ログの総数は以下のコマンドで確認できます。
WevtUtil el | Measure-Object
筆者の環境(Windows 10)では、1,053種類の異なるログが存在しました。

特定のログの詳細情報を取得するには、次のコマンドを使用します。

WevtUtil gl Setup

特定のログのイベントをクリアするには、次のように実行します。

WevtUtil cl Setup

イベントをクリアする前に、あらかじめファイルへバックアップとして保存しておくことも可能です。

WevtUtil cl Setup /bu:SetupLog_Bak.evtx

すべてのログを一度にクリアするには、Get-WinEventコマンドレットでログオブジェクトを取得し、Wevtutil.exeで順番にクリアします。

Get-WinEvent -ListLog * -Force | % { Wevtutil.exe cl $_.LogName }

または、次の方法でも同様の結果が得られます。

Wevtutil el | ForEach { wevtutil cl "$_" }

補足: 筆者の検証環境では、アクセス権のエラーにより3つのログをクリアできませんでした。そのような場合は、イベントビューアーからのクリアを試してみてください。

また、標準のコマンドプロンプト(cmd)でも同じ操作を行えます。

for /F "tokens=*" %1 in ('wevtutil.exe el') DO wevtutil.exe cl "%1"

まとめ

Windowsイベントログのクリアは、GUIのイベントビューアーだけでなく、PowerShellやwevtutilといったコマンドラインツールを活用することで大幅に効率化できます。特に、数百〜千を超えるログが存在する現代のWindows環境では、スクリプトによる一括処理が実用的です。重要なログについては、事前にバックアップ(/buオプションなど)を取得しておくことをおすすめします。

  1. Windows 10でイベントビューアのイベントログをすべてクリアする3つの方法

    イベントビューアは、エラーや警告メッセージなど、アプリケーションやシステムに関するログを表示するWindows標準のツールです。ユーザーがPCにサインインしたときや、アプリケーションでエラーが発生したときなど、PC上のあらゆる操作がイベントログとして記録されます。 何らかのWindowsエラーに直面したとき、最初に行うべきトラブルシューティングの一つがこのイベントビューアの確認です。記録されたログは問題解決に非常に役立ちますが、場合によってはすべてのイベントログをまとめてクリアしたいこともあるでしょう。特に「システム」ログと「アプリケーション」ログは、定期的に整理しておきたい重要なログです。

  2. Windows 10のPowerShellでファイルを圧縮・解凍する方法【コマンド実例付き】

    ZIP機能を使うと、ファイルとその関連設定を1つのファイルにまとめて、容量を小さく圧縮できます。こうして作成したZIPファイルは、メールやその他のファイル共有サービスを通じて、簡単に他の人へ送信できるのが大きなメリットです。 ZIP圧縮といえば、WinRARや7-Zipといった専用ソフトを使うのが一般的ですが、実はWindowsに標準搭載されているPowerShellでも、追加ソフトなしでファイルの圧縮・解凍が可能です。この記事では、その具体的な手順をわかりやすく解説します。 関連記事:WindowsとMacでファイルを圧縮する方法 PowerShellでファイルをZIP圧縮する方法 まずは、