在活动目录上从php创建用户

时间:2012-12-27 10:12:07

标签: php windows active-directory

我有以下代码:

<?php
$ldapConn = ldap_connect('ldap://XXX.YYY.WWW.NNN:389');
ldap_set_option($ldapConn, LDAP_OPT_PROTOCOL_VERSION, 3);

ldap_bind( $ldapConn, 'CN=Administrador,CN=Users,DC=XXX,DC=YYY', 'PASWD');

$dn_user='CN=testLDAP,OU=empleados,OU=usuarios_XXX,DC=XXX,DC=YYY';;

$ldaprecord['cn'] = "testLDAP";
$ldaprecord['givenName'] = "testLDAP";  
$ldaprecord['sn'] = "testLDAP";
$ldaprecord['sAMAccountName'] = "testLDAP";
$ldaprecord['UserPrincipalName'] = "testLDAP@XXX.com";
$ldaprecord['displayName'] = "testLDAP";
$ldaprecord['name'] = "testLDAP";
$ldaprecord['UserAccountControl'] = "544";
$ldaprecord['objectclass'][0] = 'top';
$ldaprecord['objectclass'][1] = 'person';
$ldaprecord['objectclass'][2] = 'organizationalPerson';
$ldaprecord['objectclass'][2] = 'user';
$ldaprecord['mail'] = "lkl@fh.com";

ldap_add($ldapConn, $dn_user, $ldaprecord);
ldap_unbind($ldapConn);  
?>

使用此代码,我可以在Active Directory上创建用户,但是如果我使用“Active Directory用户”MMC来查找由此脚本创建的用户,我无法在创建它的OU上看到此用户,但是我可以在同一OU中的ADSI Edit中看到它,我在“Active Directory用户”MMC中看不到它,我可以在“Active Directory用户”MMC中的搜索选项中搜索用户。

此外,我无法以普通用户身份登录(手动设置密码)

在ldaprecord中可能是错误还是缺少属性?

1 个答案:

答案 0 :(得分:0)

我再次尝试,现在它起作用我不知道为什么。 我怀疑mmc控制台有任何问题,代码是一样的,它没有问题。