Windowsイベントログのローテーション?


9

Windows Server 2003。

イベントログを簡単にローテーション(または自動的に消去して保存)する方法はありますか?このマシンで少し監査を行っていると、セキュリティログが非常に大きくなり、数週間ごとに保存して消去する必要があります。

ええ、バックアップジョブを利用して上書きを有効にすることはできますが、Windowsにログが自動的に保存され、容量が限界に近づいたときにログをクリアすることができれば、もっといいでしょう。

回答:


12

ほとんどの人はこの機能を知らないようですが、Windowsはそのように構成されている場合、ログファイルを自動的にローテーションします。このファイルで「AutoBackupLogFiles」を探します。

これはサーバーごとに構成できますが、多数のサーバーでは面倒です。これをサーバーコンピューターに設定するための管理用テンプレートを作成し、起動スクリプトをスクリプト化して、定期的に取得、ZIP処理、ログファイルを保存場所に移動するスケジュールされたタスクを追加しました。それは本当にうまくいき、安かった!

http://mx02.wellbury.com/misc/EventLogPolicy.adm


+1いいヒント。やってみるつもりです。
kentchen 2009年

これは2008 / Vistaでのみ機能しますか、それとも2000 / XP / 2003でも機能しますか?保持ポリシーは何に設定する必要がありますか?
msvcyc 2009年

1
Server 2008またはVistaでこれを試したことはありません。Server 2003および2000では正常に動作し、MicrosoftはWindows XPで動作すると述べています。2003 / XP / 2000で動作するには、保持設定を0xffffffffにする必要があります。Microsoftの詳細については、msdn.microsoft.com
Evan Anderson

1
ADMファイルをダウンロードするのではなく、自分で構成する方法について指導者がいたらいいのに
ジョナサン

2

イベントログを保存してクリアするVBSスクリプトを次に示します。これをスケジュールされたタスクに入れます。特定のイベントログはスクリプトの3行目に指定されており、ターゲットパスを微調整したいことは明らかです。

MSDNから「借用」した(盗まれた)コード。

strComputer = "."
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate,(Backup)}!\\" & strComputer & "\root\cimv2")
Set colLogFiles = objWMIService.ExecQuery("Select * from Win32_NTEventLogFile Where LogFileName='Application'")
For Each objLogfile in colLogFiles
    errBackupLog = objLogFile.BackupEventLog("c:\\application" & year(Now) & "_" & month(Now) & "_" & day(Now) & "_" & hour(now) & "_" & minute(now) & ".evt")
    objLogFile.ClearEventLog
Next

0

カスタムADMテンプレートの構成可能なオプションを表示するには、おそらく[表示]メニューをクリックして、[完全に管理できるポリシー設定のみを表示]をオフにする必要があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.