4

我在与 Active Directory 的集成中遇到了障碍。我需要能够将用户从一个 OU 移动到另一个。我正在使用 github master 分支上的 net-ldap 0.5.0 并在源代码中挖掘并发现你可以做到这一点

$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: Old RDN must be deleted, data 0, v1772\x00", matched_dn="", message="Unwilling to perform"> 。我想我不明白如何删除旧的 RDN,然后将用户移动到新的 OU。

这是我唯一遇到的问题。如果我需要提供其他任何东西,请告诉我。提前感谢所有帮助!

4

1 回答 1

2

这就是我们解决它的方法:

@ldap.rename(
  olddn: user.dn, 
  newrdn: "CN=#{user.cn}", 
  delete_attributes: true, 
  new_superior: "#{new_ou}"
)

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

于 2014-01-09T22:25:07.557 回答