2010年04月11日

イベントログの自動クリア WinXP

◆イベントログのクリア
---ClearEventLog.bat--(\system32に保存、ショートカット要)---
 cscript.exe ClearEventLog.vbs . Application
 cscript.exe ClearEventLog.vbs . Security
 cscript.exe ClearEventLog.vbs . System
-----(確認後、ショートカットのプロパティで最小化に設定する)-----
注)イベントログのInternet Explorerは上記でクリアされる。イベントログの
無線 ACSはクリアされないが ACS.evtのみ読み取り専用にするとクリアできる。

---ClearEventLog.vbs--(\system32に保存)---
sTarget = WScript.Arguments(0) 'First command-line arg to script.
sLog = WScript.Arguments(1) 'Second command-line arg to script.

If ClearEventLog(sTarget, sLog) Then 'Function returns true if operation successful.
  WScript.Echo sLog & " log cleared on " & sTarget
Else
  WScript.Echo sLog & " log NOT cleared on " & sTarget
End If

Function ClearEventLog(sComputer, sLogName)
  On Error Resume Next
  Set oWMI = GetObject("WinMgmts:{(Security)}!\\" & sComputer & "\root\cimv2")
  Set cLogFile = oWMI.ExecQuery("SELECT * FROM Win32_NTEventLogFile WHERE LogFileName = " & "'" & sLogName & "'")
  For Each oLog In cLogFile
   iError = oLog.ClearEventLog()
  Next
  If iError = 0 And Err.Number = 0 Then ClearEventLog = True Else ClearEventLog = False
End Function
-----(下記からダウンロードできる)-----
【読者限定】パッチ適用時のテストを自動化しよう p.2 - Windows読者限定:ITpro
http://itpro.nikkeibp.co.jp/free/NT/WinReadersOnly/20040628/2/

◆シャットダウン時に自動CCleaner、履歴削除を実行するバッチに追加する
(グループポリシーのないWinXP-homeでは)
---シャットダウン.bat--(\system32に保存、ショートカット要)---
 start /b ClearEventLog.bat

 "E:\Program Files\CCleaner\CCleaner.exe" /AUTO
 RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 1
  :3s後電源オフ:
 shutdown -s -t 3 -c "コメント" -d p:0:0
  :-c "コメント" メッセージ及びイベントログに書き込むコメントを記入する:
-----(確認後、ショートカットのプロパティで最小化に設定する)-----
注)イベントログ1074 USER32はclicking ShutDown等の記録なので問題ない。

自動CCleaner、履歴削除.batを作っておくと便利。
-----自動CCleaner、履歴削除.bat---(\system32に保存、ショートカット要)---
 "E:\Program Files\CCleaner\CCleaner.exe" /AUTO
 RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 1
-----(確認後、ショートカットのプロパティで最小化に設定する)-----

◆WinXP-proのグループポリシーでシャットダウン時に実行する方法
1.[ファイル名を指定して実行]で[gpedit.msc]
2.[コンピュータの構成][Windows の設定][スクリプト][シャットダウン]
3.[ファイルの表示][Shutdown](\system32\GroupPolicy\Machine\Scripts\Shutdown)に
ClearEventLog.batとClearEventLog.vbsのコピーを貼付け、
自動CCleaner、履歴削除.batと#echobell.batを作成し、ここに保存する。
---自動CCleaner、履歴削除.bat--(ショートカット要)---
 "E:\Program Files\CCleaner\CCleaner.exe" /AUTO
 RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 1
-----(確認後、ショートカットのプロパティで最小化に設定する)-----
---#echobell.bat--(動作確認用ベル)---
ECHO 
ECHO 
----------
4.[追加][参照]で[ClearEventLog.bat]を選択
5.[追加][参照]で[自動CCleaner、履歴削除.bat]を選択
6.[追加][参照]で[#echobell.bat]を選択

注)履歴削除がグループポリシーでは、なぜか遅い。

@IT:Windows:グループ・ポリシーを使って、コンピュータの終了時にコマンドを実行
http://www.atmarkit.co.jp/fwin2k/win2ktips/455cexec/cexec.html

2011/02追記 CCleanerでIE履歴を完全削除できる様になった

[イベントログの自動クリア WinXP]---2010/04
=========================================================================
,
--------------------------追記2011/11
[Win7/XP [更新プログラムをインストールしてシャットダウン]と自動再起動]より抜粋
,
◆シャットダウン時にイベントログのクリア、自動CCleanerを実行する
---シャットダウン.bat--(\system32に保存、ショートカット要)---
 start  "CCleaner" /wait "E:\Program Files\CCleaner\CCleaner.exe" /AUTO
 call ClearEventLog.bat
  : 5s後電源オフ :
 shutdown -s -t 5 -c "EventLogクリア/自動CCleaner" -d p:0:0
  : -c "コメント" メッセージ及びイベントログに書き込むコメントを記入する :
-----(確認後、ショートカットのプロパティで最小化に設定する)-----
,
◆終了オプション時にイベントログのクリア、自動CCleanerを実行する
---終了オプション.bat--(\system32に保存、ショートカット要)---
 start  "CCleaner" /wait "E:\Program Files\CCleaner\CCleaner.exe" /AUTO
 call ClearEventLog.bat
 cscript.exe 終了オプション.vbs
-----(確認後、ショートカットのプロパティで最小化に設定する)-----
,
---終了オプション.vbs--(\system32に保存)---例
Set Win = CreateObject("Shell.Application")
Win.Shutdownwindows
-------------------------------
2013/11 訂正 start /b ClearEventLog.bat⇒ call ClearEventLog.bat

posted by 丹波yu at 15:26 | PC便利法 | このブログの読者になる | 更新情報をチェックする
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。