scryptKiddy
scryptKiddy

Reputation: 477

Getting "000004DC: LdapErr: DSID-0C090752." when performing bind in perl using Net::LDAP

Objective is to get the "dn" attribute of all the computers in my Active Directory server.

When the code executes I get: "000004DC: LdapErr: DSID-0C090752, comment: In order to perform this operation a successful bind must be completed on the connection."

Here is my code:

#!/usr/bin/perl

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

my $ldap = Net::LDAP->new( 'my.domain.com' ) or die $@;
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"
);

I've tested the user / password to log into the domain directly with success. Additional information if I add this to the end of the script: 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' );

Any suggestions on how to get this script working is what I'm looking for. Thanks!

Upvotes: 0

Views: 3057

Answers (1)

palik
palik

Reputation: 2863

With regard to the error message you posted I would say the bind attempt failed. It might help you to improve bind result:

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

See Net::LDAP:

The return value from these methods is an object derived from the Net::LDAP::Message class. The methods of this class allow you to examine the status of the request.

Upvotes: -1

Related Questions