C# UserPrincipal.GetAuthorizationGroups()在UserPrincipal中的可分辨名称包含特殊字符(在我的示例中是逗号)时引发异常

C# UserPrincipal.GetAuthorizationGroups()在UserPrincipal中的可分辨名称包含特殊字符(在我的示例中是逗号)时引发异常,c#,vb.net,userprincipal,principalcontext,adgroup,C#,Vb.net,Userprincipal,Principalcontext,Adgroup,我需要递归地查找用户的广告组。 e、 g.UserA是Group3的一部分,Group3是Group2的一部分,Group2是Group1的一部分 所以,UserA是Group3、Group2、Group1的一部分 现在,查找我在代码中使用的用户的所有组 Dim UserP1 As UserPrincipal=UserPrincipal.FindByIdentity(ctx,IdentityType.SamAccountName,Remote_ID) allrecursiveUserGroups

我需要递归地查找用户的广告组。 e、 g.UserA是Group3的一部分,Group3是Group2的一部分,Group2是Group1的一部分 所以,UserA是Group3、Group2、Group1的一部分

现在,查找我在代码中使用的用户的所有组

Dim UserP1 As UserPrincipal=UserPrincipal.FindByIdentity(ctx,IdentityType.SamAccountName,Remote_ID)
allrecursiveUserGroups=UserP1.GetAuthorizationGroups()
这里的问题是,当of
UserPrincipal
包含特殊字符(在我的例子中是逗号)时,它会抛出异常。 就我而言,可分辨名称是:

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

这里,反斜杠被用作转义字符,由
UserPrincipal
本身添加

如果不包含任何特殊字符,则该函数可以正常工作。 e、 g

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


问题的原因是什么?有什么解决方案吗?

其他问题的可能重复项有更多详细信息。你最好更新你的另一个问题,让它包含这样一个事实,即它只发生在名称中带有逗号的帐户上。