我们正在运行活动目录的公司networking上,我们想要testing一些LDAP的东西(实际上是活动目录成员资格提供者),到目前为止,我们都不知道我们的LDAP连接string是什么。 有谁知道我们怎么能find它? 我们唯一知道的就是我们所在的领域。
ASP.NET Active Directory成员资格提供程序使用指定的用户名,密码和“连接string”对Active Directory执行经过身份validation的绑定。 连接string由LDAP服务器的名称和用户指定的容器对象的全限定path组成。
连接string以URI LDAP://
开头。
对于服务器名称,您可以使用该域中的域控制器的名称 – 比如说“dc1.corp.domain.com”。 这给了我们LDAP://dc1.corp.domain.com/
。
下一位是绑定用户所在的容器对象的标准path。 假设您使用的是“pipe理员”帐户,而您的域名是“corp.domain.com”。 “pipe理员”帐户位于位于域根目录下一个级别的名为“用户”的容器中。 因此,“用户”容器的完全限定的DN将是: CN=Users,DC=corp,DC=domain,DC=com
。 如果您绑定的用户位于OU中,而不是容器,则path将包含“OU = ou-name”。
因此,在名为Service Accounts
的OU中使用一个帐户,该Service Accounts
是名为Corp Objects
的OU的子OU,该OU是名为corp.domain.com
的域的子OU,将具有完全限定的OU=Service Accounts,OU=Corp Objects,DC=corp,DC=domain,DC=com
。
将LDAP://dc1.corp.domain.com/
与绑定用户所在容器的完全限定path(如LDAP://dc1.corp.domain.com/OU=Service Accounts,OU=Corp Objects,DC=corp,DC=domain,DC=com
),并且已经有了“连接string”。
(您可以在连接string中使用域名,而不是域控制器的名称,区别在于域的名称将parsing为域中任何域控制器的IP地址,这可以是好的也可以是不好的。您不依赖于任何单个域控制器启动并运行成员提供者工作,但名称恰好parsing到远程位置的DC,并且networking连接不稳定,那么您可能会遇到成员问题提供者工作。)
键入dsquery /?
在命令提示符下。
例如: dsquery user -name Ja*
获取名称以Ja *开头的所有用户的连接string。
我只是使用Softerra这个工具(他们是一个优秀的免费软件LDAP浏览器)从当前login的用户获取用户DN: http : //www.ldapbrowser.com/download.htm
我一直有问题find正确的方式来打出OU。 命令dsquery ou domainroot
会给你一个你域中所有OU的正确名称的列表。 不知道这是否会帮助更大的组织。
安装远程服务器pipe理工具: http : //www.microsoft.com/en-us/download/details.aspx?id=7887
打开命令提示符并input> dsquery服务器
欲了解更多信息,请检查这篇文章(post的底部): http : //www.schiffhauer.com/mvc-5-and-active-directory-authentication/
如果您打开ADSIedit,它应该显示您select连接到…时的path
我find了最简单的方法 :
你也可以从中find
活动目录服务器 – >select组织单位OU – >右键单击 – >属性 – > AttributeEditor – > DistinguishedName
我从微软的Windows服务器2012 R2得到这些