Johannes: uptime

Beitrag lesen

Wie müsste folgende Funktion aussehen, damit mir die letzte EventID von 6005 zurückgegeben wird?
Momentan erhalte ich immer die gleiche Zeit:
Win2000 has been running for 12 day(s), 4 hour(s), 58 minute(s) and 22 second(s)

sub eventlog {
  my $Eventlog = Win32::EventLog->new("System", $ENV{ComputerName}) || die "Can't open Application EventLog: $!\n";
  $Eventlog -> GetNumber(my $number) || die "EventLog GetNumber() failed: $!\n";
  $Eventlog -> GetOldest(my $oldest) || die "EventLog GetOldest() failed: $!\n";

my $i = 0;
  while ($i < $number) {
    $Eventlog->Read(EVENTLOG_BACKWARDS_READ|EVENTLOG_SEEK_READ, $oldest+$i, my $event) || die "Can't read EventLog entry $i";
      $event->{"EventID"} = $event->{"EventID"} & 0xffff;
      if ($event->{"EventID"} == 6005) {
        timeres($event->{TimeGenerated});
        last;
    }
    $i++;
  }