コマンドラインからWindowsイベントログをクリアする方法
多くの場合、問題のトラブルシューティングを行ったり、システムの状態を全般的にチェックしたりする場合は、イベントビューアを使用する必要があります。 イベントビューアには、情報、エラー、警告、重大、詳細など、ログに記録されるすべてのWindowsイベントが表示されます。 ただし、ここには、ログに記録される完全に通常のアクティビティを含む非常に多くのイベントがあるため、期待どおりに機能していない、またはエラーを引き起こしているものに関連するイベントを見つけるのが難しくなります。 そのため、イベントログをクリアする必要がある場合があります。 この記事では、イベントログを自動的にまたはコマンドラインからクリアする方法を説明します。
広告
システムログとアプリケーションログは、ときどきクリアしたい重要なログの2つです。 イベントログを右クリックし、右クリックメニューから[ログのクリア...]を選択すると、イベントログを手動でクリアできます。 ただし、これを自動にして、7日または15日ごとにイベントログがクリアされるようにすることもできます。 あなたもすることができます ElevatedShortcutを使用して自動的に実行されるスケジュールされたタスクを設定する イベントログをクリアします。
コマンドプロンプトを使用して特定のイベントログのみをクリアする方法
- 管理者としてコマンドプロンプトを開きます(方法を見る).
- 特定のログをクリアするには、最初にその名前を知っている必要があります。 イベントログのリストを表示するには、次のように入力します。
wevtutil el
- これにより、非常に長いログのリストが作成されます。 次のコマンドを使用できます: 'wevtutil el | more '(引用符なし)を使用して、一度に1画面ずつ出力を表示します。 または、次のコマンドを使用してテキストファイルに出力することもできます。
wevtutil el> Loglist.txt
これにより、コマンドプロンプトの作業ディレクトリ(現在コマンドプロンプトが表示されているのと同じフォルダ)にテキストファイルLoglist.txtが作成されます。
- クリアするログの名前がわかったので、次のコマンドを使用できます。
wevtutilclアプリケーション
- 上記のコマンドは、アプリケーションログをクリアします。 システムログをクリアするには、次を使用します: 'wevtutil cl System'(引用符なし)。
コマンドプロンプトを使用してすべてのイベントログをクリアする方法
- メモ帳を開き、次のテキストをコピーして貼り付けます。
@エコーオフ。 FOR / F "tokens = 1,2 *" %% V IN( 'bcdedit')DO SET adminTest = %% V。 IF(%adminTest%)==(Access)gotonoAdmin。 for / F "tokens = *" %% G in( 'wevtutil.exe el')DO(call:do_clear "%% G") エコー。 エコーイベントログがクリアされました! 終わりに行きます。 :do_clear。 エコークリア%1。 wevtutil.exe cl%1。 goto:eof。 :noAdmin。 echoこのスクリプトは管理者として実行する必要があります! エコー。 :終わり
- バッチファイルとして保存し、ClEvtLog.batやClEvtLog.cmdなどの任意の名前を付けます。
ヒント:拡張子が.batまたは.cmdのテキストを直接保存するには、ファイル名を引用符で囲んで入力します。つまり、「ClEvtLog.bat」または「ClEvtLog.cmd」です。 - このバッチファイルをC:\ Windowsなどのシステムパス内のディレクトリにコピーして、実行するたびにフルパスを入力する必要がないようにします。
- 管理者特権のコマンドプロンプトを開きます(方法を見る).
- コマンドプロンプトからバッチファイルを実行します:ClEvtLog.cmd。 コマンドプロンプトを開かずに、またはcmd / cを使用せずに直接実行して、実行後にコマンドプロンプトを閉じることもできます。
PowerShellを使用してすべてのイベントログをクリアする方法
- 管理者としてPowerShellを開きます(方法を参照)。
- 次のコマンドを入力するか、PowerShellにコピーして貼り付けます。
wevtutil el | Foreach-Object {wevtutil cl "$ _"}
- Enterキーを押します。 すべてのログがクリアされるまで数秒待ちます。 これで、Exitと入力してPowerShellを終了できます。
VBScript / WMIを使用してすべてのイベントログをクリアする方法(従来のイベントログのみ)
- メモ帳を開き、次のテキストをコピーして貼り付けます。
strComputer = "。" objWMIService = GetObject( "winmgmts:" _を設定します。 & "{impersonationLevel = impersonate、(Backup、Security)}!\\" _。 &strComputer& "\ root \ cimv2") colLogFiles = objWMIServiceを設定します。 ExecQuery_。 ( "Win32_NTEventLogFileから*を選択") colLogFiles内のobjLogfileごと。 objLogFile。 ClearEventLog() 次
- VBScript(.VBS)ファイルとして保存し、ClEvtLog.vbsなどの任意の名前を付けます。
ヒント:拡張子が.vbsのテキストを直接保存するには、ファイル名を引用符で囲んで入力します。つまり、「ClEvtLog.vbs」です。 - このVBScriptファイルをC:\ Windowsなどのシステムパス内のディレクトリにコピーして、実行するたびにフルパスを入力する必要がないようにします。
- 管理者特権のコマンドプロンプトを開きます(方法を見る).
- コマンドプロンプトからVBScriptファイルを実行します:CScriptClEvtLog.vbs。 コマンドプロンプトを開かずに、またはcmd / cを使用せずに直接実行して、実行後にコマンドプロンプトを閉じることもできます。
VBScript / WMIメソッドは、従来のイベントログ(アプリケーション、セキュリティ、システムなど)のみをクリアし、PowerShellまたはwevtutil.exeによってクリアされる新しいXMLタイプのイベントログはクリアしません。
また、これらのスクリプトは、ログがクリアされる前にログをバックアップしないことに注意してください。 イベントログをバックアップする場合は、以下を参照してください。 Microsoftのスクリプトセンター サンプル用。