2017-05-11 2 views
0

Active Directory 서버에있는 모든 컴퓨터의 "dn"속성을 가져 오는 것이 목적입니다."000004DC : LdapErr : DSID-0C090752"받기. Net :: LDAP를 사용하여 perl에서 바인드를 수행 할 때

코드가 실행될 때 : "000004DC : LdapErr : DSID-0C090752, comment :이 작업을 수행하려면 연결에서 성공적인 바인딩을 완료해야합니다." 내가 성공 직접 도메인에 로그인 할 수있는 사용자/암호를 테스트 한

#!/usr/bin/perl 

use strict; 
use Net::LDAP; 
use Data::Dumper; 

my $ldap = Net::LDAP->new('my.domain.com') or die [email protected]; 
my $user = 'CN=username,OU=orgname,DC=my,DC=domain,DC=com'; 
my $pass = 'my_password'; 
$ldap->bind($user, password => $pass); 
#$ldap->bind; 

my $mesg = $ldap->search(
     base => "DC=my,DC=domain,DC=com", 
     filter => "ObjectClass=Computers", 
    attrs => "dn" 
); 

:

여기 내 코드입니다. 내가 스크립트의 끝이를 추가하는 경우 추가 정보 :이 스크립트 작업을하는 방법에 대한 print Dumper($mesg);

$VAR1 = bless({ 
       'parent' => bless({ 
             'net_ldap_version' => 3, 
             'net_ldap_scheme' => 'ldap', 
             'net_ldap_debug' => 0, 
             'net_ldap_socket' => bless(\*Symbol::GEN0, 'IO::Socket::INET'), 
             'net_ldap_host' => 'my.domain.com', 
             'net_ldap_uri' => 'my.domain.com', 
             'net_ldap_resp' => {}, 
             'net_ldap_mesg' => {}, 
             'net_ldap_async' => 0, 
             'net_ldap_port' => 389, 
             'net_ldap_refcnt' => 1 
            }, 'Net::LDAP'), 
       'errorMessage' => '000004DC: LdapErr: DSID-0C090752, comment: In order to perform this operation a successful bind must be completed on the connection., data 0, v2580', 
       'ctrl_hash' => undef, 
       'resultCode' => 1, 
       'callback' => undef, 
       'mesgid' => 2, 
       'matchedDN' => '', 
       'controls' => undef, 
       'raw' => undef 
       }, 'Net::LDAP::Search'); 

어떤 제안은 내가 무엇을 찾고있다. 감사합니다.

+0

바인딩에 실패했습니다. 알기 -> 작업 도구에서 LDAP를 사용하여 바인딩하십시오. (나는 Apache Studio를 좋아한다.) – jwilleke

+0

@jwilleke이 Unix 서버에 소프트웨어를 추가 할 수 없어 Perl Net :: LDAP 소프트웨어를 사용하고있다. 다른 Windows 워크 스테이션의 도메인에 로그인하여 계정의 사용자 이름/암호를 확인했습니다. 바인드가 실패했음을 알았지 만 DC에서 이유를 알 수 없으므로 다음에 무엇을 시도해야하는지 잘 모릅니다. – scryptKiddy

+0

시도해보십시오 : http://ldapwiki.com/wiki/Determining%20the%20FDN 및 LDAP 반환 코드가 표시되는 알려진 양호한 LDAP 클라이언트 (Apache Studio를 사용함)를 사용하는 것이 좋습니다. http://ldapwiki.com/wiki/Common%20Active%20Directory%20Bind%20Errors – jwilleke

답변

-1

내가 게시 한 오류 메시지와 관련하여 bind 시도가 실패했다고 말합니다. 그것은 당신이 bind 결과를 개선하는 데 도움이 될 수 있습니다

$mesg = $_ldap->bind("***", password => "***"); 
$mesg->is_error && die join ';' $mesg->code, $mesg->error 

Net::LDAP 참조 : 이러한 방법에서

반환 값은 인터넷 :: LDAP :: 메시지 클래스에서 파생 된 개체입니다. 이 클래스의 메소드를 사용하면 요청 상태를 검사 할 수 있습니다.

+0

$ mesg의 출력은 바인드 결과를 포함하는 내 게시물의 맨 아래 부분에 덤프됩니다. 바인드 부분은 Net :: LDAP까지 '상위'에 있으며, 검색 결과는 Net :: LDAP :: Search에서 끝나는 메시지의 두 번째 절반에 있습니다. 그것이 내가 검색에서받은 오류를 게시하는 정보를 얻은 방법이었습니다. – scryptKiddy

관련 문제