次のコードがあります。
<?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 でこのユーザーを確認できませんが、 「Active Directory ユーザー」MMC に表示されない同じ OU の ADSI Edit から、「Active Directory ユーザー」MMC にある検索オプションでユーザーを検索できます。
また、通常のユーザーとしてユーザーでログインできません(パスワードを手動で設定します)
ldaprecord のプロパティが間違っているか、欠落している可能性がありますか?