Saboteur: Не подскажите, как можно сократить этот блок:
my $ldap;
# get array DNS names of AD controllers
my $dig = "dig -t srv _ldap._tcp.$AD" . '| grep -v "^;\|^$" | grep SRV | awk "{print \$8}"';
my @adControllers = `$dig`;
# try connect to AD controllers
foreach my $controller (@adControllers){
$controller =~ s/\n//;
#INITIALIZING
$ldap = Net::LDAP->new ( $controller ) or next;
print STDERR "Connected to AD controller: $controller\n" if $debug > 0;
last;
}
die "$@" unless $ldap;
my $mesg = $ldap->bind ( dn=>$ADUserBind, password =>$ADpass);
Чтоб миновать выше указанные ошибки.
Так как другие скрипты для скана AD работают на ура, и без ошибок.
Saboteur:
При указании:
my $mesg = $ldap->bind ( "admin", password =>"pass"); снова ругается на bind
А при
my $mesg = $ldap->bind ( "admin@testdc.net", password =>"pass")
Уже выводит ошибку:
./users.pl
Possible unintended interpolation of @TESTDC in string at ./users.pl line 107, line 225.
Global symbol "@TESTDC" requires explicit package name at ./users.pl line 107, line 225.
Execution of ./users.pl aborted due to compilation errors.
Saboteur: В секции конфигурации указал:
my $ADUserBind="CN=admin,$ADDC";
А $ADDC :
my $ADDC="DC=TESTDC,DC=NET";
Так ж пробывал изменять строчку на DC=testdc.net .
Результат нулевой.
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.