PowerShell脚本,用于确认AD中符合RCF的DN

问题描述 投票:0回答:1

第一篇文章!这是最近遇到的一个问题,当应保持匿名的LDAP感知应用程序报告林中19个域之一中的DN中的错误,但供应商无法提供有关出现错误的对象的详细信息除了“我们对RFC的合规性非常严格,因此可以是任何东西,但我们看到错误34”

有用的权利。

我的其他支持LDAP的应用程序都很好,所以这更像是一种“证明错误”的练习。我有一个列表,列出了从每个域在最近10天中发生变化的每个对象导出的DN。9天前是事情破裂的时候,所以它将捕获他们试图说的一切。

我希望找出的是我是否可以运行PS脚本来检查DN字符串中的RFC投诉?我对RFC所涉及的内容一无所知,甚至无法找到关于什么是被接受和不被接受的清晰解释。

有人有指针吗?

powershell active-directory ldap
1个回答
0
投票

这只是一个猜测,但这在我之前是很讨厌的:您是否有任何名称中带有正斜杠的帐户?甚至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,也可能发生这种情况。

© www.soinside.com 2019 - 2024. All rights reserved.