Я использую DirectorySearcher
, чтобы получить всех пользователей из Active Directory, но мне нужно, чтобы только "настоящие" пользователи.
Фильтр:
search.Filter = "(&(objectClass=user)(objectCategory=person))";
но я получаю все учетные записи пользователей, например:
henry.miller <-wanted
ernest.hemingway <-wanted
HealthMailboxced7671 <-not wanted
Вопрос: как мой фильтр нужно изменить, чтобы он возвращал только реальных пользователей?
Весь мой код:
string DomainPath = "LDAP://DC=writers,DC=local";
DirectoryEntry searchRoot = new DirectoryEntry(DomainPath);
DirectorySearcher search = new DirectorySearcher(searchRoot);
search.Filter = "(&(objectClass=user)(objectCategory=person))";
search.PropertiesToLoad.Add("samaccountname");
SearchResult result;
SearchResultCollection resultCol = search.FindAll();
if (resultCol != null)
{
for (int counter = 0; counter < resultCol.Count; counter++)
{
result = resultCol[counter];
if (result.Properties.Contains("samaccountname"))
{
Console.WriteLine((String)result.Properties["samaccountname"][0]);
}
}
}