У меня есть список имен учетных записей (тысячи), которые мне нужно добавить в качестве членов группы, поэтому мне нужно найти отличительные имена этих учетных записей, чтобы я мог добавить их в качестве членов группы.
Есть 21000 учетных записей пользователей. Требуются часы, чтобы найти отличительные имена, есть ли более быстрый путь?
DirectoryEntry deDomain = new DirectoryEntry();
deDomain.Path = "LDAP://DC=my,DC=ca;
deDomain.Username = "me";
deDomain.Password = "mypassword";
DirectorySearcher dsSearch = new DirectorySearcher(deDomain);
dsSearch.CacheResults = false;
dsSearch.PropertiesToLoad.Add("distinguishedname");
foreach (string sam in lstSamAccountNames)
{
dsSearch.Filter = $"(&(objectCategory=person)(objectClass=user)(SAMAccountName={ReplaceSpecialCharacters(sSamAccountName)}))";
SearchResult srPerson = dsSearch.FindOne();
yield return srPerson.Properties["distinguishedname"][0].ToString();
}