Windows Server 2003。
イベントログを簡単にローテーション(または自動的に消去して保存)する方法はありますか?このマシンで少し監査を行っていると、セキュリティログが非常に大きくなり、数週間ごとに保存して消去する必要があります。
ええ、バックアップジョブに依存して上書きを有効にすることはできますが、Windowsでログが自動的に保存され、容量が限界に近づいたときにログをクリアできれば、さらに良いでしょう。
ほとんどの人はこの機能を知らないようですが、Windowsは、このように構成されている場合、ログファイルを自動的にローテーションします。このファイルで「AutoBackupLogFiles」を探します。
これはサーバーごとに構成できますが、多数のサーバーでは面倒です。これをサーバーコンピューターに設定するための管理用テンプレートを作成し、起動スクリプトをスクリプト化して、定期的に取得するZipのスケジュールされたタスクを追加し、ログファイルを保存場所に移動しました。それは本当にうまくいき、安かった!
イベントログを保存してクリアする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
カスタムADMテンプレートの構成可能なオプションを表示するには、おそらく[表示]メニューをクリックして、[完全に管理できるポリシー設定のみを表示]をオフにする必要があります。