第一篇文章!这是最近遇到的一个问题,当应保持匿名的LDAP感知应用程序报告林中19个域之一中的DN中的错误,但供应商无法提供有关出现错误的对象的详细信息除了“我们对RFC的合规性非常严格,因此可以是任何东西,但我们看到错误34”
有用的权利。
我的其他支持LDAP的应用程序都很好,所以这更像是一种“证明错误”的练习。我有一个列表,列出了从每个域在最近10天中发生变化的每个对象导出的DN。9天前是事情破裂的时候,所以它将捕获他们试图说的一切。
我希望找出的是我是否可以运行PS脚本来检查DN字符串中的RFC投诉?我对RFC所涉及的内容一无所知,甚至无法找到关于什么是被接受和不被接受的清晰解释。
有人有指针吗?
这只是一个猜测,但这在我之前是很讨厌的:您是否有任何名称中带有正斜杠的帐户?甚至Microsoft's own code has problems with that。
DN看起来像:
CN=test/user,OU=Users,DC=domain,DC=com
这是完全正确的(至少AD允许)。但是,如果您尝试直接通过LDAP绑定到该目录,然后将其放到LDAP路径中,则会得到以下信息:
LDAP://CN=test/user,OU=Users,DC=domain,DC=com
但是,在LDAP路径中,正斜杠是特殊字符,因此它会将路径视为LDAP://CN=test
,这当然是行不通的。必须将斜杠转义(只需将/
替换为\/
):
LDAP://CN=test\/user,OU=Users,DC=domain,DC=com
要确定您是否有名称中带有斜杠的帐户,可以执行以下查询:
(&(objectClass=user)(cn=*/*))
在PowerShell中,您可以这样操作:
Get-ADUser -LDAPFilter "(cn=*/*)"
如果您的名称中有任何带有斜杠的OU,也可能发生这种情况。