Мне нужно найти все вложенные группы в определенной группе 1 слой вниз. У меня проблема в том, что приведенный ниже код обычно работает, но для некоторых групп это не так.
Если я использую проводник Windows для поиска определенной группы (щелкните значок «Сеть», затем нажмите «Поиск в Active Directory», я смогу увидеть членов и вложенные группы в родительской группе. Но с помощью кода, использующего System.DirectoryServices.AccountManagement на 3.5 Framework, var Groups = MyGroup.GetGroups();
не может видеть вложенные группы некоторых групп. Я думал, что это связано с разрешениями, но если я могу видеть внутри группы из моего собственного ручного поиска, упомянутого выше, то я предполагаю, что код, работающий из той же учетной записи, должен быть в состоянии увидеть то же самое тоже. Есть ли что-то другое, что я должен попробовать?
Как бы то ни было, я использую задачу сценария поверх Framework 3.5 внутри пакета SSIS. Также в том же пакете отлично работает поиск групп по объекту принципа пользователя вместо принципа группы.
И для ясности, когда я запускаю этот код
PrincipalContext AD = new PrincipalContext(ContextType.Domain, "ctx", "mypath");
GroupPrincipal myGroup = GroupPrincipal.FindByIdentity(AD, "myparentgroup");
var nestedgroups = myGroup.GetGroups();
«Вложенные группы» имеют значение null, если они должны содержать мои вложенные группы.