Windows イベント ビューアーのログは、何が問題なのかを解明したいときや、システム内で何が起こっているかを記録したいときに非常に便利です。しかし、ここで問題があります。Windows はデフォルトで、保存するログデータの量に上限を設けています。ログがその上限に達すると、古いイベントが上書きされ始めます。これは、しばらく前に発生した問題のトラブルシューティングや詳細な監査証跡が必要な場合には理想的ではありません。そのため、ログの最大サイズを増やすことが、ログをより長く保存し、そこからより多くの情報を得るための秘訣となることがよくあります。ただし、注意が必要です。注意しないと、ログが肥大化してディスク容量を消費してしまう可能性があるため、適切な制限を設定することが重要です。
ログがすぐに上書きされてしまう場合や、より長い履歴を保存したい場合は、ログサイズを増やす方法を以下にご紹介します。手順は、PowerShellコマンド、イベントビューアーGUI、グループポリシーなど、環境によって異なります。また、GPOで管理している場合、特にドメイン環境では、複数のマシンでこの操作が必要になる場合があります。ログサイズを増やすことは、単なる見せかけではありません。深刻なトラブルシューティング、セキュリティ監査、ログイン失敗やファイル削除といった不正なアクティビティの追跡に役立ちます。もちろん、Windowsは必要以上に処理を複雑にする必要がある場合もありますが、ほとんどの場合、これらの手順で十分です。具体的な方法は次のとおりです。ご自身のシナリオに最適な方法を選んで、そこから進めてください。
Windowsイベントログのサイズを増やす方法 – 実践的な方法
PowerShell によるログサイズの調整
これは素早い設定によく使われる方法です。PowerShellを使えば、あれこれクリックするよりも速く設定できます。ログは.EVTX%SystemRoot%\System32\Winevt\Logs\ファイルとして保存されます。理由は定かではありませんが、ログを個別に管理するのは良い考えです。設定によっては、あるログのサイズを変更すると他のログにも予期せぬ影響が出たり、Windowsがサイズが大きすぎる、または小さすぎるというエラーを表示したりすることがあります。そのため、必要なログだけをターゲットにしましょう。
まず現在のログ制限を確認してください:
Get-WinEvent -ListLog Security | Select MaximumSizeInBytes, FileSize, IsLogFull, OldestRecordNumber, IsEnabled, LogMode
このコマンドを使うと、例えばセキュリティログの現在の設定を簡単に確認できます。ログフォルダ内のすべてのログの合計サイズを確認するには、次のコマンドを実行してください。
"{0:N2} MB" -f ((Get-ChildItem C:\Windows\System32\Winevt\Logs\ | Measure-Object Length -Sum).Sum / 1MB)
ログサイズを増やすには、`wevtutil`を使用します。以下は、アプリケーションログの最大サイズを約200MB(2億バイト)に設定する例です。
wevtutil sl "Application" /ms:200000000
あるいは、PowerShell の新しいコマンドレットを使用すると、サイズを適切に設定できます。
Limit-EventLog -LogName Application -MaximumSize 200MB -OverflowAction OverwriteOlder
一部のマシンでは、これらのコマンドを実行するために管理者権限が必要になる場合があり、場合によっては再起動やログの再起動が必要になることもあります。奇妙ですが、うまく機能します。
イベントビューアGUIからログサイズを調整する
クリックして確認するのがお好みなら、イベントビューアーを開いてみてください。どこを見ればよいかがわかれば、驚くほど簡単です。
- [実行] ボックス ( ) または検索バーに「eventvwr.msc」と入力して、イベント ビューアーを開きます。Windows + R
- ログ ( 「セキュリティ」や「アプリケーション」など) を見つけて右クリックし、「プロパティ」を選択します。
- 最大ログ サイズ (KB)のスライダーまたは入力ボックスを使用して、環境に適したサイズまで上げます。
- ログがいっぱいになった場合の動作を設定します。デフォルトは「必要に応じてイベントを上書きする」で、ほとんどの場合これで問題ありません。ただし、すべてを保存したい場合は、「ログがいっぱいになったらアーカイブし、イベントを上書きしない」を選択してください。ただし、アーカイブされたログは同じフォルダに保存されるため、後で手動で開く必要があることに注意してください。
コンソールを管理者として実行しないと、オプションがグレー表示になることがあります。そういう場合は、右クリックして「管理者として実行」を選択してください。Windowsが未だに簡単な操作を面倒にしているとは誰が想像したでしょうか?
GPO を使用してドメイン内のログ サイズを管理する
Active Directory環境で複数のWindowsマシンを扱う場合は、グループポリシーが最適です。設定は少し手間がかかりますが、うまく機能すれば非常に役立ちます。
- gpmc.mscを起動してグループ ポリシー管理を開きます。
- 新しい GPO を作成し、それを関連する OU またはドメイン スコープにリンクします。
- 「コンピューターの構成」>「ポリシー」>「管理用テンプレート」>「Windowsコンポーネント」>「イベントログサービス」に移動します。ここで、アプリケーション、セキュリティ、セットアップ、システムのログが表示されます。
- 「ログファイルの最大サイズ(KB)を指定する」を有効にし、希望するサイズを設定します。例えば、61440KBを指定すると、約60MBになります。
- gpupdate /forcePowerShell またはコマンド プロンプトで実行して、クライアントでグループ ポリシーの更新を強制します。
ドメインコントローラーでは、セキュリティイベントログのサイズを増やすことで、詳細な監査ログの記録や、ログイン失敗や不審なアクティビティなどのセキュリティインシデントの追跡に役立ちます。ただし、ログは急速に肥大化するため、ディスク容量には注意してください。また、すべてのログがGPOで設定できるわけではないことに注意してください。特に「アプリケーションとサービスログ」のログは、レジストリの調整が必要です。
GPO でカバーされていないログを変更するには、レジストリキーを微調整するだけですHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\<LogName>。例えば、ディレクトリサービスログのサイズを増やすには、MaxSizeREG_DWORD を作成し、サイズをバイト単位で指定します(例えば 50MB、つまり 50*1024*1024 = 52428800)。グループポリシーの基本設定を使用すれば、複数のマシンでこの処理を自動化できます。
結局のところ、イベントログのサイズを大きくすることは無謀なことではありません。トラブルシューティングや監査のために詳細な履歴が必要な場合に、賢明な判断となるだけです。バランスを取る作業ではありますが、正しく設定すれば、ディスクを突然詰まらせることなく、より多くの情報を得ることができます。
まとめ
Limit-EventLogおよび`wevtutil`などの PowerShell コマンドを使用すると、ログ サイズをすばやく設定できます。- イベント ビューアー GUI は簡単ですが、管理者権限が必要です。
- GPO は、特に大規模なネットワークで複数のマシンを一度に管理する場合に最適です。
- ディスク容量に注意してください。ログを自由に保存すると、サイズが大きくなる可能性があります。
- 標準のログ以外のログをカスタマイズする場合は、レジストリ キーを直接調整します。
まとめ
最後に、ログの容量を増やすことで、トラブルシューティングの負担が軽減され、システム内部で何が起こっているかをより長く把握できるようになります。確かに完璧なシステムではありませんが、ログの質が向上すれば、修正が早くなり、推測する必要も減ります。この方法が、ログ管理を面倒に感じることなく、誰かの役に立つことを願っています。これでアップデートが1つでも進むことを願っています。もしそうでなくても、少なくとも私が試したいくつかの設定ではうまくいったので、ご安心ください。