Here is why its not working... Windows 2000 and above use the LDAP port 389 for Active Directory communications. So its the Windows 2000 OS listening on that port. You need to go into Exchange 5.5 admin and change LDAP port to something else. I use 390.
James <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED] > Hi all, > > I have been using Net::LDAP to connect to Exchange 5.5 servers on NT 4.0 without problems, but have started experiencing problems when the Exchange servers are upgraded to Windows 2000. The connection code is > > my $ldap = Net::LDAP->new( $serverName, port=>$port); > if (!($ldap)) > { > # couldn't connect to Exchange server, log this event > # and handle gracefully. > LOG("text","ERROR","write_cert (ldap connection)",$zDn,"Unable to > connect to Exchange server: ".$serverName); > return("FAILED"); > } > > my $mesg = $ldap->bind($exchuser,password => $exchpass, version => 3); > > the exchange user that is being used is in the format "cn=admin,cn=domain". > When the server is Windows 2000, the bind does not return an error and the > subsequent search (which asks only for attributes available anonymously) returns the correct account/attrs, but when an $ldap->modify call is made, it fails with error 50: > > Return code: 50 Message: LDAP error code 50(0x32)MessageID: 19 (LDAP_INSUFFICIENT_ACCESS) > > The account being used has admin rights at the site and container levels. I am certain that the credentials are correct, and the script continues to work on NT4 servers. Is there another format for the username that must be used on W2K servers? I'm using Net::LDAP v. 0.26 (is this the problem maybe?) and the code is compiled into an executable by the PDK and run on a W2K advanced server machine. > > Any suggestions? > > thanks in advance, > > Tony