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


108

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

Answers:


101

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 Service Accounts的子OU中使用一个名为OU的子帐户,该OU Corp Objects是一个域的子OU,则该帐户corp.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,那么成员资格可能有问题提供商工作。)


至少在SBS 2008中,它们似乎已开始符合OU字符串中的标准“ OU”前缀:CN =您的姓名,OU =用户,DC =示例,DC =本地我们正在运行功能级别2003.
gravyface

好答案。是否可以在连接字符串中向外部域控制器提供查询帐户的登录详细信息?

因此,您的意思是,访问ActiveDirectory的远程计算机应该在其自己的域中?如果我的本地计算机不在其域中怎么办?如果我的计算机在工作组中,是否需要传递2个凭据来验证用户身份?我的意思是,一种是登录Windows Server计算机,另一种是验证ActiveDirectory用户的用户名和密码。我对吗?
Dinesh Kumar P

@DineshKumarP:我在解析您时遇到了一些麻烦。成员资格提供程序使用Active Directory(AD)中的有效凭据绑定到目录。运行Membership Provider的计算机不需要是任何AD域的成员,但是您必须使用来自AD的有效凭据对其进行配置,以使其起作用。
埃文·安德森

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

23

键入dsquery /?在命令提示。

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


我喜欢这种方法,它给出了OU等的正确排序。显而易见,要使用它,请使用LDAP://dc1.corp.domain.com/和命令的输出,并将它们组合在一起,以轻松形成安静的ldap字符串。
RandomUs1r 2014年

3
您需要安装哪些工具才能使用此命令?
2016年

Pred,请参阅此答案
Stas Bushuev,2013年

18

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


步骤1:在“凭据”步骤中,选择“当前登录的用户(仅ActiveDirectory)”。步骤2:创建连接后,在其“属性”中转到“条目”选项卡并复制URL。第3步:将该URL与ErJab解决方案中找到的DN一起使用。
Nicolas Raoul

7

我一直很难找到正确的方式来键入OU。该命令dsquery ou domainroot将为您提供域中所有OU正确名称的列表。不确定这是否会对更大的组织有所帮助。



4

如果打开ADSIedit,则当您选择连接到...时,它应该向您显示路径。

在此处输入图片说明



1

我找到了最简单的方法

您也可以从

Active Directory服务器->选择组织单位OU->右键单击->属性-> AttributeEditor-> DistinguishedName

我从Microsoft Windows Server 2012 R2获得了这些

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.