当我运行此查询的DirectorySearcher过滤
// Next row is used to login to AD
DirectoryEntry entry = GetEntry(domain, adminUser, adminPassword);
// Here starts the query
DirectorySearcher search = new DirectorySearcher(entry)
{
SearchScope = SearchScope.Subtree,
Filter = "(&" +
"(objectClass=user)" +
// "(distinguishedname=*OU=Ingegneria*)" +
"(givenname=s*)" +
"(samaccountname=*100)" +
")"
};
search.PropertiesToLoad.Add("distinguishedname");
SearchResultCollection result = search.FindAll();
我得到六个条目,这就是正确的。
所有记录,如果我用record.GetDirectoryEntry()
有
distinguishedname: CN=xxx,OU=Utenti,OU=Ingegneria,DC=xxx,DC=xxx
无论如何,如果我在过滤器的distinguishedname
部分删除评论,我得到零项!
我也试图使用search.PropertiesToLoad.Add("distinguishedname");
没有运气。
如何在过滤器中搜索distinguishedname
?
UPDATE:
如果我尝试使用过滤器"(distinguishedname=*)" +
,我仍然得到六个记录,所以我想我可以在搜索的distinguishedName ...
UPDATE2:
我还试图用代码在Search Active Directory for an OU using a partial path to the OU:
Filter = "(&(objectClass=user)(ou=Ingegneria))";
但我有零项(我有两个,如果我删除(objectClass=user)
部分)
尝试删除'OU = INGEGNERIA *',看看会发生什么 – Shai 2012-02-26 08:39:40
@Shai:我需要的过滤器的那部分......无论如何看看我的更新。 – Marco 2012-02-26 08:46:44
似乎是http://stackoverflow.com/questions/5872838/search-active-directory-for-an-ou-using-a-partial-path-to-the-ou的重复 - 这可能会帮助您搜索由OU。 – 2012-02-26 09:31:32