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