如何找出我的 LDAP 连接字符串?

All*_*len 118 active-directory ldap connection-strings

我们在运行活动目录的公司网络上,我们想测试一些 LDAP 内容(实际上是活动目录成员资格提供程序),到目前为止,我们都无法弄清楚我们的 LDAP 连接字符串是什么。有谁知道我们如何才能找到它?我们唯一知道的是我们所在的域。

Eva*_*son 110

ASP.NET Active Directory 成员身份提供程序使用指定的用户名、密码和“连接字符串”对 Active Directory 进行经过身份验证的绑定。连接字符串由 LDAP 服务器的名称和指定用户所在的容器对象的完全限定路径组成。

连接字符串以 URI 开头LDAP://

对于服务器名称,您可以使用该域中的域控制器的名称——比如说“dc1.corp.domain.com”。这给了我们LDAP://dc1.corp.domain.com/迄今为止。

下一位是绑定用户所在容器对象的完全限定路径。假设您使用的是“管理员”帐户,并且您的域名是“corp.domain.com”。“管理员”帐户位于域根目录下一层名为“用户”的容器中。因此,“用户”容器的完全限定 DN 将是:CN=Users,DC=corp,DC=domain,DC=com. 如果您绑定的用户在 OU 中,而不是在容器中,则路径将包括“OU=ou-name”。

因此,在名为 OU 的 OU 中使用帐户,该 OU 是名为域Service Accounts的子 OU 的 OUCorp Objects的子 OUcorp.domain.com将具有OU=Service Accounts,OU=Corp Objects,DC=corp,DC=domain,DC=com.

LDAP://dc1.corp.domain.com/与绑定用户所在容器的完全限定路径相结合(例如,LDAP://dc1.corp.domain.com/OU=Service Accounts,OU=Corp Objects,DC=corp,DC=domain,DC=com),您就拥有了“连接字符串”。

(您可以在连接字符串中使用域的名称,而不是域控制器的名称。不同之处在于域的名称将解析为域中任何域控制器的 IP 地址。这有好有坏。您不依赖任何单个域控制器来启动并运行成员资格提供商的工作,但该名称恰好解析为,例如,远程位置的 DC,网络连接不稳定,那么您可能会遇到成员资格问题供应商工作。)

  • @ArthurRonald - 默认情况下,非特权用户可以绑定和查询 Active Directory。事实上,最好使用非特权用户。Active Directory 具有相当丰富的 ACL 模型,您可以以非常精细的方式控制对对象和属性的访问。您应该绑定一个具有足够权限的帐户来执行您需要的操作,但仅此而已。 (2认同)

ErJ*_*Jab 30

键入dsquery /?命令提示符。

例如:dsquery user -name Ja*获取名称以 Ja* 开头的所有用户的连接字符串。

  • 您需要安装哪些工具才能使用此命令? (3认同)

gra*_*ace 18

我只是使用 Softerra 的这个工具(他们制作了一个出色的免费软件 LDAP 浏览器)从当前登录的用户那里获取用户 DN:http : //www.ldapbrowser.com/download.htm


Nix*_*hoe 7

我总是在寻找正确的方式来输入 OU 时遇到问题。该命令dsquery ou domainroot将为您提供域中所有 OU 的正确名称的列表。不确定这是否对更大的组织有帮助。


KER*_*ERR 6

如果您打开 ADSIedit,它应该会显示您选择连接到的路径...

在此处输入图片说明


小智 5

  1. 安装远程服务器管理工​​具:http : //www.microsoft.com/en-us/download/details.aspx?id=7887

  2. 打开命令提示符并输入 >dsquery server

有关更多信息,请查看此帖子(帖子底部):http : //www.schiffhauer.com/mvc-5-and-active-directory-authentication/