添加已存在,php ldap添加用户

添加已存在,php ldap添加用户,php,active-directory,ldap,Php,Active Directory,Ldap,我想使用ldap将用户添加到active directory中,但不断出现以下错误: Warning: ldap_add(): Add: Server is unwilling to perform in C:\Program Files (x86)\EasyPHP-12.1\www\GuestRegister\test3.php on line 41 有人能帮忙吗 谢谢:) 我发现两个潜在问题。一个是设置['objectClass']['2']两次 另一个是UserAccountContro

我想使用ldap将用户添加到active directory中,但不断出现以下错误:

Warning: ldap_add(): Add: Server is unwilling to perform in C:\Program Files (x86)\EasyPHP-12.1\www\GuestRegister\test3.php on line 41
有人能帮忙吗

谢谢:)


我发现两个潜在问题。一个是设置['objectClass']['2']两次

另一个是
UserAccountControl
属性。您想要普通帐户,但密码尚未设置。您可能需要通过指定
UserAccountControl
属性来创建帐户,设置密码,然后设置
UserAccountControl
属性。

(我知道这很旧,但是)


该错误表示您没有通过SSL正确连接到LDAP服务器。根据我的经验,“服务器不愿意执行”意味着您需要设置到LDAP服务器/AD服务器的SSL连接,以正确添加用户。

对于我来说,这个错误听起来很简单
<?php
$ldaprdn  = "CN=HackTeam,CN=Users,DC=cisco,DC=internal";    
$ldappass = 'HackMe007';

// connect to ldap server
$ldapconn = ldap_connect("10.33.85.172");


if ($ldapconn) {

// binding to ldap server
$ldapbind = ldap_bind($ldapconn, $ldaprdn, $ldappass);

} else {
echo "Unable to connect to LDAP server";
}

$dn_user="CN=Dan Potts,CN=Users,DC=cisco,DC=internal";

$ldaprecord['cn'] = "Dan Potts";

$ldaprecord['sn'] = "Potts";
$ldaprecord['sAMAccountName'] = "danpotts";

$ldaprecord['name'] = "Dan Potts";
$ldaprecord['UserAccountControl'] = "66048";
$ldaprecord['objectclass'][0] = 'top';
$ldaprecord['objectclass'][1] = 'person';
$ldaprecord['objectclass'][2] = 'organizationalPerson';
$ldaprecord['objectclass'][2] = 'user';
$ldaprecord['mail'] = "danielpotts@cisco.com";

ldap_add($ldapconn, $dn_user, $ldaprecord);
ldap_unbind($ldapconn);  



?>