#Determines if anyone is logged on locally to a computer, also shows network connections. #Need psloggedon from http://www.sysinternals.com # Lucas Albers admin AT cs . montana . edu # last updated 09-11-03 rcs v1.1 #change these to have your domains listed. $dom1 = 'DOMAIN1'; $dom2 = 'DOMAIN2'; my @domain_list = &net_view(); foreach $computer (@domain_list) { @version = `psloggedon \\\\$computer`; #print @version; $local_logon=0; $resource_logon=0; foreach $v (@version){ if ($v =~ /No one is logged on locally./){ print "$computer:no local logons:\n"; } if ($local_logon && !($resource_logon)) { if ($v =~ /.*($dom1\\.*|$dom2\\.*|$computer\\.*)\s+.*/){ print "$computer:local logon:$1\n"; } } if ($v =~ /Users logged on locally/){ $local_logon=1; #print "Local logon"; } if ($v =~ /Users logged on via resource shares/){ $resource_logon=1; } if ($resource_logon){ if ($v =~ /.*($dom1.*|$dom2.*|$computer.*)\s+.*/){ print "$computer:resource access:$1\n"; } } } } ######################## sub net_view{ @clist =`net view`; foreach (@clist) { $tmp = $_; if (/^(\\\\)(\S*)/i) { push @computer_list,$2 #print "$2\n"; } } return @computer_list; } ########################