按sAMAccountName和域查询活动目录LDAP

如何通过sAMAccountName和Domain对LDAP商店进行查询? 在活动目录或LDAP术语中,"domain" 属性的名称是什么?

这是我到目前为止的过滤器的情况。我希望能够加入域。

(&(objectCategory=Person)(sAMAccountName=BTYNDALL))

"Domain"不是LDAP对象的一个属性。它更像是对象所存储的*数据库的名称。

所以你必须连接到正确的数据库(在LDAP术语中:"绑定到域/目录服务器"),以便在该数据库中执行搜索。

一旦你绑定成功,你的查询在它目前的形式下就是你所需要的全部。

BTW:选择"ObjectCategory=Person"而不是"ObjectClass=user"是一个好的决定。在AD中,前者是一个"索引属性",具有很好的性能,后者没有索引,速度稍慢。

评论(1)

你必须在域名中进行搜索。

http://msdn.microsoft.com/en-us/library/ms677934(VS.85).aspx

所以,基本上你应该绑定到一个域,以便在这个域内进行搜索。

评论(0)

如果你使用.NET,请使用 DirectorySearcher 类。你可以把你的域作为一个字符串传入构造函数。

// if you domain is domain.com...
string username = "user"
string domain = "LDAP://DC=domain,DC=com";
DirectorySearcher search = new DirectorySearcher(domain);
search.Filter = "(SAMAccountName=" + username + ")";
评论(3)