我的目标是将一个帐户转移到另一个OU。我的理解是,下面的代码应该完成这项工作。但是,它返回false
。没有错误、警告或异常。我该如何调试为什么这不起作用?
secure_ldap.rename(
olddn: self.dn,
newrdn: "CN=#{self.cn}",
delete_attributes: true,
new_superior: "#{ou}"
)
好吧,一种方法可能是在应用程序中添加pry和pry byebug。修改您的代码以包含binding.pry
,然后运行您的应用程序:
Frame number: 0/0
From: ./test.rb @ line 1 :
=> 1: binding.pry
2: secure_ldap.rename(
3: olddn: self.dn,
4: newrdn: "CN=#{self.cn}",
5: delete_attributes: true,
6: new_superior: "#{ou}"
=>
现在使用step
逐行执行。它将允许您进入netldap内部的rename
方法调用,例如检查该方法调用中的局部变量。
该错误不是ruby错误。当处理系统程序(如LDAP)的ruby标准lib接口时,请参阅它自己的文档源。
在你的情况下,你可能正在寻找https://ldap.com/ldap-dns-and-rdns/它解释了要使用的字符串以及哪些字符串需要转义。