я не знаю, если «вложенная» это слово для того, что мне нужно, но вот объяснение:Получить группы пользователей в AD с вложенными группами
У меня есть пользователь, «Джон». «Джон» является членом группы «А». Группа «B» имеет группу «A» в качестве участника.
Итак, транзитивно «Джон» также должен быть членом группы «В».
Когда я получить в группу Джона, я получаю только «А», а не «B», делая это так:
DirectorySearcher searcher = new DirectorySearcher();
DirectoryEntry rootEntry = new DirectoryEntry(_ldap, _loginName, _password, AuthenticationTypes.ReadonlyServer);
searcher.SearchRoot = rootEntry;
searcher.SearchScope = SearchScope.Subtree;
searcher.Filter = "(&(sAMAccountName=" + filter.Split('\\')[1] + ")(objectClass=user))";
searcher.PropertiesToLoad.Add("memberOf");
searcher.PropertiesToLoad.Add("displayname");
SearchResult sr = searcher.FindOne();
Как я могу добиться этого?
Спасибо!
[Перечисление вложенных групп пользователей в AD] (http://stackoverflow.com/questions/7149157/enumeration-of-nested-ad-user-groups-using-c-sharp) проверьте это предыдущее сообщение 'Nicole ' – MethodMan
Это не одно и то же, потому что я начинаю с пользователя, я получаю его прямые группы, и мне нужно знать, является ли какая-либо из этих групп одновременно, членом другой группы. – Nicole
- это случайная опечатка/(& (sAmAccountName) не уверен, если это имеет значение, но я думаю, что это должно быть 'samAccountName', вы также можете добавить' && (objectClass = groups)) ' – MethodMan