UserPrincipal.GetAuthorizationGroups() выдает исключение, когда Отличительное имя в UserPrincipal содержит специальные символы (запятая в моем случае)
У меня есть ситуация, когда мне нужно найти AD Group пользователя рекурсивно. например, 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 = Смит \, Джон, округ Колумбия = mydomain,DC= com
Здесь обратная косая черта была использована как escape-символ, который добавляется UserPrincipal
сам.
Если отличительное имя не содержит специальных символов, функция GetAuthorizationGroups() работает нормально. например
CN=Smith John,DC=mydomain,DC=com
В чем причина проблемы и есть ли решение для этого?