個人情報保護法やら何やらの件で、今まで余裕ぶっこいてあまり真面目に考えていなかったWindowsマシンのログもいちおう取っておこうかなという気になった(笑)
仕事関係の中核マシンは監視の絡みもあるので、Snareみたいな仕掛けを使って比較的しっかり作っているのだが、さほど重要度の高くないWindowsサーバはほとんどローテートするに任せていた。 ようするに何もしていなかったわけである(爆) これだとイザという時困るかも…ということで、せめてバックアップくらいは取って置こうかと思ったわけである。 どんな時がイザという時なのか…と問われると、よくわからんのだが(笑)。 イベントログファイルは、リソースキットツールのDumpel.exeとかElogDmp.exeなどでもエクスポートできるが、パージといっしょに行いたかったので、WMIを使ったスクリプトを用意した。 実際には纏めて圧縮アーカイブしたり二次記憶媒体に書き込んだりで、もっと複雑だが、キモ的にはこんな感じ。 ' ======================================================= ' Event Log export and clear TEST ' sample By SIGNAL9 ' **** 実行にはAdministator検眼が必要 ' ======================================================= ' 注意:ここで指定したパスは、接続がリモートコンピュータの場合、 ' そのコンピュータのパスになる BackUpPath = "C:\Temp\" ' File system Object Set fs = CreateObject("Scripting.FileSystemObject") ' Target Computer. ComputerName = "." 'ローカル ' ComputerName = "RemotoComputerName" Set EV = GetObject("winmgmts:{impersonationLevel=impersonate, _ (Backup, Security)}!\\" & ComputerName & _ "\root\cimv2:Win32_NTEVENTLOGFILE") Set instEV = EV.instances_ For Each n in instEV BackupFileName = ComputerName & _ n.LogFileName & _ DatePart("YYYY",date) & _ DatePart("M",date) & _ DatePart("D",date) & _ DatePart("h",time) & _ DatePart("n",time) & _ DatePart("s",time) & ".EVT" BackupFileName = Replace(BackupFileName, " ", "") Fname = BackUpPath & BackupFileName rt = n.BackupEventLog(Fname) If rt = 0 then ' n.ClearEventlog() Else Wscript.Echo "Error." End If Next Set fs = Nothing Set instEV = Nothing Set EV = Nothing
by SIGNAL-9
| 2005-03-28 15:00
| TIPSとかKludgeとか
|
カテゴリ
全体 一般の話題 奇妙な論理 奇談・異聞 秋葉原 研究(笑) 町歩き 古い話 東電災害 電算機関係の話題 情報保護・セキュリティ 読んだり見たり TIPSとかKludgeとか 拙作ソフトウェア 未分類 最新の記事
記事ランキング
以前の記事
最新のトラックバック
その他のジャンル
ブログジャンル
画像一覧
| ||||||||||||||||||||
ファン申請 |
||