in reply to Script to capture logged on users
use warnings; use strict; use Win32::NetAdmin qw(GetUsers GetServers GetDomainController LoggedO +nUsers UserGetAttributes UserSetAttributes FILTER_NORMAL_ACCOUNT SV_T +YPE_ALL ); use Fcntl; my $domain; my $pdc; ($domain = Win32::DomainName) or die "Unable to obtain the domain name"; Win32::NetAdmin::GetDomainController("", $domain, $pdc) or die "Unable to obtain the PDC name for $domain."; print "Get Domain Controller returned: $pdc\n"; my %machines; GetServers("", $domain, SV_TYPE_ALL, \%machines) or die "GetServers failed: $!\n"; print "\n\n===Machine to User Mapping\n"; my %users_machine; foreach my $machine (sort keys(%machines)) { my @users; unless(LoggedOnUsers($machine, \@users)) { warn "LoggedOnUsers for machine $machine failed: $!\n" +; next; } my %unique_users; $unique_users{$_}++ for @users; foreach (sort keys(%unique_users)) { unless($_ eq $machine."\$") { print "$machine: $_\n"; push @{ $users_machine{$_} }, $machine; my $dbmkey = $machine . ":" . $_; } } } print "\n\n===User to Machine Mapping\n"; print "$_ => ", join(",", @{$users_machine{$_}}), "\n" for (sort keys( +%users_machine));
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Script to capture logged on users
by devon22 (Initiate) on Aug 26, 2005 at 17:06 UTC | |
by davis (Vicar) on Aug 26, 2005 at 18:22 UTC | |
|
Re^2: Script to capture logged on users
by Ice-Breaker (Novice) on Dec 22, 2011 at 01:22 UTC |