UserPrincipal.GetAuthorizationGroups () выдает исключение, когда Отличительное имя в UserPrincipal содержит специальные символы (запятая в моем случае) - PullRequest
0 голосов
/ 16 мая 2018

У меня есть ситуация, когда мне нужно рекурсивно найти группу пользователей AD.например, UserA является частью Group3, Group3 является частью Group2, Group2 является частью Group1 Итак, UserA является частью Group3, Group2, Group1.

Теперь, чтобы найти все группы для пользователя, которого я использовал GetAuthorizationGroups () в моем коде.

Dim UserP1 As UserPrincipal = UserPrincipal.FindByIdentity(ctx, IdentityType.SamAccountName, Remote_ID)
allrecursiveUserGroups = UserP1.GetAuthorizationGroups()

Проблема здесь в том, что Отличительное имя из UserPrincipal содержит специальные символы (запятая в моем случае), а затемвыбрасывает исключение.В моем случае это отличительное имя:

CN = Smith \, John, DC = mydomain, DC = com

Здесь косая черта используется в качестве escape-символа, которыйдобавляется UserPrincipal.

Если Отличительное имя не содержит специальных символов, функция GetAuthorizationGroups () работает нормально.например,

CN = Smith John, DC = mydomain, DC = com

В чем причина проблемы и есть ли какое-либо решение для этого?

...