PHP为在LDAP中复制或移动目录记录提供了很好的功能。不幸的是,ldap_rename
函数doesn't seem to work on the Sun Directory。是否存在任何替代方案来更改帐户的OU而无需创建新帐户?
我的最终目标是使用一种简单的方法在两个OU之间切换,例如:
CN=username,OU=Admin,DC=uaa,DC=alaska,DC=edu
到
CN=username,OU=Student,DC=uaa,DC=alaska,DC=edu
答案 0 :(得分:1)
你可以用LDIF做到这一点。在目录的角度来看,您要执行的作业称为DN修改, moddn 和 modrdn 有两个LDAP动词。
在OpenLDAP中可以通过这种方式在LDIF中完成:
dn: CN=username,OU=Admin,DC=uaa,DC=alaska,DC=edu
changetype: modrdn
newrdn: CN=username
deleteoldrdn: 0
newsuperior: OU=Student,DC=uaa,DC=alaska,DC=edu
我使用这种方式accros Active Directory:
dn: CN=username,OU=Admin,DC=uaa,DC=alaska,DC=edu
Changetype: moddn
Newrdn: CN=username
Deleteoldrdn: 1
Newsuperior: OU=Student,DC=uaa,DC=alaska,DC=edu
小心,复制/删除与您创建的第一个解决方案中的 moddn 和 modrdn 明显不同新对象(LDAP数据库中的新 guid 或 uuid )可能会影响复制。在第二个解决方案中,您移动对象。
也许你可以在PHP中找到那些动词。