我的目标是将帐户移至另一个 OU。我的理解是以下代码应该可以完成这项工作。但是,它返回false
。没有错误、警告或异常。如何调试为什么这不起作用?
secure_ldap.rename(
olddn: self.dn,
newrdn: "CN=#{self.cn}",
delete_attributes: true,
new_superior: "#{ou}"
)
我的目标是将帐户移至另一个 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
逐行逐步执行。它将允许您进入 net-ldap 内部的rename
方法调用,例如检查该方法调用中的局部变量。
该错误不是红宝石错误。在处理与 LDAP 等系统程序的 ruby 标准库接口时,请参阅它自己的文档源。
在您的情况下,您可能正在寻找https://ldap.com/ldap-dns-and-rdns/,它解释了要使用的字符串以及需要转义的字符串。