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

Reply via email to