當我運行此查詢的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