Hey List,
I have been using WMI queries in my perl scripts to return EventLog entries
from the previous day. I need to trim the number it returns because this
wiil be running on 400 or so servers everyday. I want to add the
TimeGenerated >= somenumber to my ExecQuery. Code is below. Basically my
question is does anyone know how to insert a variable into an ExecQuery???
############################### Get the Critical Errors from ALL EventLogs
and display ###########################
foreach my $server ( @Servers ) {
my $WMIServices
=Win32::OLE->GetObject("winmgmts:{impersonationLevel=impersonate,(security)}
//$server" ) or warn "Could not GetObject on $server\n";
my $WMI = Win32::OLE->new('WbemScripting.SWbemLocator') or die "New";
my $remote = $WMI->ConnectServer($server) or die "ConnectServer";
my $eventlog = $remote->ExecQuery("select * from Win32_NTLogEvent
where LogFile=\"system\" and Type=\"error\" ") or die "ExecQuery";
## Here I want to add [TimeGenerated >= $date] or something
foreach my $event ( in($eventlog) ) {
my $cname = ( $event->{ComputerName} );
my $ecode = ( $event->{EventCode} );
my $message = ( $event->{Message} );
my $source = ( $event->{SourceName} );
my $time = ( $event->{TimeGenerated} );
if ( $time >= 20030401040000.000000-300 ) {
push ( @Event, "$cname, $ecode, $time, $message\n" );
}
}
}
############################################################################
############################
Thanks for any input, and have a great day!
Tom Bryan
_______________________________________________
Perl-Win32-Users mailing list
[EMAIL PROTECTED]
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs