my $dc;
Win32::NetAdmin::GetAnyDomainController('','',$dc);
to get the name of a domain controller for use above. Or, putting it all together:
#!/usr/bin/perl -w
use strict;
use Win32::NetAdmin qw(
FILTER_SERVER_TRUST_ACCOUNT FILTER_WORKSTATION_TRUST_ACCOUNT );
my( $dc, @comps );
my $domain= @ARGV ? $ARGV[0] : "";
Win32::NetAdmin::GetAnyDomainController('',$domain,$dc)
or die "Can't find my domain controller: $^E\n";
Win32::NetAdmin::GetUsers( $dc,
FILTER_SERVER_TRUST_ACCOUNT|FILTER_WORKSTATION_TRUST_ACCOUNT,
\@comps )
or die "Can't lookup domain members: $^E\n";
s/\$$// for @comps;
Note that Microsoft changed the definition of "server" and "workstation" early on in the game and in the above code "SERVER" really means "domain controller" and "workstation" really means "domain member computer that isn't a domain controller". So you can request those two lists separately if you like.
-
tye
(but my friends call me "Tye") |