If you want the Time of logon along with the date you can use this modified
version.


use Win32::OLE;
use Win32::OLE::Variant;
use Win32::OLE::NLS qw(:LOCALE :DATE);
my $domain = Win32::OLE->GetObject("WinNT://DomainHere");
foreach my $object (in $domain)
{
    if ($object->{Class} eq 'User')
    {
        my $last_login;
        if ($object->{LastLogin})
        {
            $last_login_date = $object->{LastLogin}->Date(DATE_LONGDATE);
            $last_login_time = $object->{LastLogin}->Time();
        }else
        {
            $last_login_date = "Unknown";
            $last_login_time = "Unknown";
        }
        print $object->{Name} . "=" . $last_login_date . " " .
$last_login_time ."\n";
    }
}

Tim Dumas

-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] Behalf Of Leon
Sent: Thursday, June 12, 2003 12:03 PM
To: Tillman, James; Robert-Jan Mora
Cc: perl; win32; Yahoo Beginner Perl
Subject: RE: Last Logon of ALL users in the domain


This totally 100 percent worked.

Thank you so much!!!!

"Tillman, James" <[EMAIL PROTECTED]> wrote:

This works on my own domain from a Win2k or NT box:

use Win32::OLE;
use Win32::OLE::Variant;
use Win32::OLE::NLS qw(:LOCALE :DATE);
my $domain = Win32::OLE->GetObject("WinNT://IRM-NT");
foreach my $object (in $domain) {
 if ($object->{Class} eq 'User') {
  my $last_login;
  if ($object->{LastLogin}) {
   $last_login = $object->{LastLogin}->Date(DATE_LONGDATE)
  }
  else {
   $last_login = "Unknown";
  }
  print $object->{Name} . "=" . $last_login . "\n"
 }
}

Just a thought...

jpt

Reply via email to