невозможно получить роль основной группы, т.е. «Пользователи домена» для пользователей ldap в c# - PullRequest
0 голосов
/ 22 января 2020

У меня есть следующий код. Предполагается проверить на сервере ldap, какие роли выполняет пользователь, отобразить их все и удалить любую роль, которая не существует на сервере ldap. В данный момент он не отображает группу «пользователи домена», поскольку является основной группой. Но мне это нужно для отображения роли пользователей домена. Я попытался включить (primaryGroupID = 513) в фильтр, но это не работает как 'directorySearcher.FindOne ();' возвращает ноль после того, как я добавлю primaryGroupID в фильтр.

Ответы [ 2 ]

0 голосов
/ 23 января 2020

Вы можете получить доступ к группе по умолчанию, если сначала получите PrimaryGroupID.

Мы документируем фильтр LDAP , который можно использовать.

И есть также Get-ADPrincipalGroupMembership

0 голосов
/ 22 января 2020

Я уверен, что вы также провели свое исследование. Я не верю, что существует простой способ получить доступ к группам, которые настроены как первичные, или как часть групп, являющихся членами той же группы, что и пользователи домена. Моя учетная запись в моей AD имеет 125 групп, но только 70 отображается, если я запрашиваю через powershell или DirectoryEntry.

Я знаю, что следующий код работает и вытягивает все группы независимо от того, какой это тип группы.

    PrincipalContext ctx = new PrincipalContext(ContextType.Domain);
    UserPrincipal user = (UserPrincipal)Principal.FindByIdentity(ctx, userID);
    PrincipalSearchResult<Principal> userGroups = user.GetAuthorizationGroups();
...