将用户从一个OU移动到另一个OU - Ruby 的 Active Directory LDAP

4

我在与Active Directory的集成中遇到了问题。我需要能够将用户从一个OU移动到另一个OU。我正在使用的是0.5.0版本的net-ldap,它位于github主分支上,并在源代码中寻找到可以实现这一点的方法。

$ldap.rename(
             olddn: "cn=bradford ricechip,ou=agents,ou=ihs,ou=test environment,dc=ctatechs,dc=com", 
             newrdn: "cn=bradford ricechip", 
             new_superior: "ou=coach,ou=ihs,ou=test environment,dc=ctatechs,dc=com"
) 

我得到的是:#<OpenStruct code=53, error_message="00000057: LdapErr: DSID-0C090A95, comment: 必须删除旧RDN,数据0,v1772\x00", matched_dn="", message="不愿执行">。我猜我不明白如何删除旧的RDN,然后将用户移动到新的OU。
这是我遇到的唯一问题。如果需要提供其他信息,请告诉我。感谢您提前提供的所有帮助!
1个回答

2
这是我们解决问题的方法:
@ldap.rename(
  olddn: user.dn, 
  newrdn: "CN=#{user.cn}", 
  delete_attributes: true, 
  new_superior: "#{new_ou}"
)

我们还使用了Github上的ldap-ruby版本,而不是RubyGems上的版本。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接