use Win32::NetAdmin; @domains=("Domain1","Domain2","Domain3"); foreach $domain (@domains) { print "\nDOMAIN:\t$domain\n"; unless (Win32::NetAdmin::GetDomainController("", $domain, $pdc)) { print "Unable to obtain the PDC name for $domain."; next; } unless (Win32::NetAdmin::GetServers($pdc, $domain, 0x00000008, \@servers1)) { print "Unable to get the PDC name.\n"; } foreach $server (@servers1) { print "PDC: $server\n"; } unless (Win32::NetAdmin::GetServers($pdc, $domain, 0x00000010, \@servers2)) { print "Unable to get the BDC names.\n"; } foreach $server (@servers2) { print "BDC: $server\n"; } # unless (Win32::NetAdmin::GetServers($pdc, $domain, 0x00008000, \@servers3)) # { print "Unable to get the member server names."; # } # foreach $server (@servers3) # { print "MEM: $server\n"; # } @servers = (@servers1, @servers2, @servers3); print " TOTAL:\t", $#servers + 1,"\n" if (@servers); $grandtotal += $#servers + 1 if (($#domains) && (@servers)); } print "\nGRAND TOTAL: $grandtotal\n" if $grandtotal;