C# 正在检索memberof(AD)属性的完整信息

C# 正在检索memberof(AD)属性的完整信息,c#,active-directory,C#,Active Directory,我需要为用户检索有关成员资格的完整信息。这是在SSIS(Microsoft Visual Studio 10)中编写的脚本,脚本转换编辑器组件是用C#编写的 顺便说一下,在控制台(cmd)中,如果我们使用dsget用户“cn=…”-memberof检索,我可以检索用户的所有组 我想要的是获得会员资格,比如: CN=Name1,OU=WZA,OU=WWWWW,DC=XXXX,DC=yyy,DC=ZZZZ CN=Name2,OU=WZA,OU=WWWWW,DC=XXXX,DC=yyy,DC=ZZZY

我需要为用户检索有关成员资格的完整信息。这是在SSIS(Microsoft Visual Studio 10)中编写的脚本,脚本转换编辑器组件是用C#编写的

顺便说一下,在控制台(cmd)中,如果我们使用
dsget用户“cn=…”-memberof
检索,我可以检索用户的所有组

我想要的是获得会员资格,比如:

CN=Name1,OU=WZA,OU=WWWWW,DC=XXXX,DC=yyy,DC=ZZZZ CN=Name2,OU=WZA,OU=WWWWW,DC=XXXX,DC=yyy,DC=ZZZY CN=Name3,OU=WZA,OU=WWWWW,DC=XXXX,DC=yyy,DC=ZZZA

我得到的:(只有第一行…)

CN=Name1,OU=WZA,OU=WWWWW,DC=XXXX,DC=yyy,DC=ZZZZ

代码如下。如何更改它以接收AD在memberOf属性中保存的完整信息? (在SSIS中,该属性的数据类型为unicode字符串,最大值为3999个字符,因此很难进行截断)


ps我不太了解C#…

您仅使用
memberOf
属性中的第一条记录:

Output0Buffer.memberOf= result.Properties["memberOf"][0].ToString();

result.Properties[“memberOf”]
是一个数组。因此,您必须循环遍历该数组并获取每个值。

筛选变量值:
(&(objectCategory=person)(objectClass=user))
不确定您对“变量类代码”的请求……但我如何在C#中做到这一点?类似于:
foreach(results中的SearchResult结果)if(result.Properties[“memberOf”!=null&&result.Properties[“memberOf”].Count>0){Output0Buffer.memberOf=result.Properties[“memberOf”][0].ToString();}
No.在
result.Properties[“memberOf”]
上再次执行
foreach
Output0Buffer.memberOf= result.Properties["memberOf"][0].ToString();