我遇到需要递归查找用户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
UserPrincipal
包含特殊字符(在我的情况下是一个逗号)时,它会抛出异常。
在我的例子中,专有名称是:
CN = Smith \,John,DC = mydomain,DC = com
此处反向斜杠已用作转义字符,由$query .=
本身添加。
如果Distinguished Name不包含任何特殊字符,则函数Distinguished Name可以正常工作。 e.g。
CN = Smith John,DC = mydomain,DC = com
问题的原因是什么?有没有可用的解决方案?