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


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


99
2018-04-08 13:43






答案:


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

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

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

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

因此,使用名为OU的帐户 Service Accounts 这是一个名为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,那么您可能会遇到成员资格问题提供者工作。)


93
2018-04-08 14:19



至少使用SBS 2008,看起来他们已经开始符合OU字符串中的标准“OU”前缀:CN =您的姓名,OU =用户,DC =示例,DC =本地我们正在运行功能级别2003。 - gravyface
很好的答案。我可以在连接字符串中向外部域控制器提供查询帐户的登录详细信息吗? - Dan
那么你的意思是,访问ActiveDirectory的远程机器应该在自己的域中?如果我的本地计算机不在其域中该怎么办?如果我的计算机位于工作组中,是否需要传递2个凭据才能对用户进行身份验证?我的意思是,一个登录到WindowsServer机器,另一个是验证ActiveDirectory用户的用户名和密码。我对吗? - Dinesh Kumar P
@DineshKumarP:我在解析你时有点麻烦。成员资格提供程序使用Active Directory(AD)中的有效凭据绑定到目录。运行成员资格提供程序的计算机不需要是任何AD域的成员,但您必须使用AD中的有效凭据对其进行配置才能使其正常运行。 - Evan Anderson
@ArthurRonald - 默认情况下,非特权用户可以绑定并查询Active Directory。事实上,如果你使用无特权的用户,这可能是最好的。 Active Directory具有相当丰富的ACL模型,您可以以非常精细的方式控制对对象和属性的访问。您应该使用具有足够权限的帐户绑定您所需要的权限,但不能更多。 - Evan Anderson


类型 dsquery /? 在命令提示符下。

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


22
2018-04-08 14:26



我喜欢这种方法,它给出了OU的正确排序等。为了说明这一点,使用它来取LDAP://dc1.corp.domain.com/和命令的输出并将它们组合起来,以便轻松地形成一个ldap字符串。 - RandomUs1r
您需要安装哪些工具才能使用此命令? - Pred
Pred,看到这个 回答。 - Stas Bushuev


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


16
2018-04-08 17:36



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


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


6
2018-06-03 08:07





  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/


4
2018-02-20 02:50





如果您打开ADSIedit,它会在您选择连接到时显示路径...

enter image description here


3
2018-04-15 20:59





完整的语法是 http://www.faqs.org/rfcs/rfc2255.html


2
2017-07-27 09:56





我找到了最简单的方法

你也可以找到

活动目录服务器 - >选择组织单位OU - >右   单击 - >属性 - > AttributeEditor - > DistinguishedName

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


1