04/11/03 22:56:06
WSHでセキュリティのイベントログを削除するスクリプトを
perlで作ったですがエラーがでて困ってます。
# cscript script.pls
でコマンド実行すると
# PerlScript Error: (in cleanup) Can't call method "ClearEventlog" on an undefined value
とエラーになります。
環境はWindows XPにActivePerl 5.8.4です。
どこが悪いのでしょうか。改善点をお願いします。
以下ソースです。
use Win32::OLE;
open(LOG, "eventquery.vbs /v /fo csv /l Security |");
@data = <LOG>;
close(LOG);
$strComputer = ".";
$wmi = Win32::OLE->GetObject(
"WinMgmts:{impersonationLevel=impersonate}!//" .
"$strComputer\\root\\cimv2"
);
$colLogs = $wmi->ExecNortificaitonQuery(
"Select * from Win32_NTEventLogFile where LogFileName='Security'"
);
foreach $objEvent ($colLogs) {
$objEvent->ClearEventLog();
}