使用用户SAMAccountName从Active Directory读取嵌套的组名

时间:2014-11-12 07:31:17

标签: c# active-directory-group

我需要一个函数以递归方式获取指定用户(作为函数参数)所属的所有组名。 Function标题应该如下所示SAMAccountName是我想要从中获取组的用户名:

public List<string> GetUsersGroups(string SAMAccountName);

我希望你能帮助我。

提前致谢。

1 个答案:

答案 0 :(得分:0)

我假设你的问题是活动目录方面的知识,而不是c#。

基本上任务是ldap动作,但我将使用adfind给出示例,这是一个快速而方便的工具,可以将ldap查询输出到csv文件中。你必须自己创造的功能。

您需要两种功能:

功能1,从samaccountname中查找DN: adfind -dsq -f samaccountname = username

功能2,查找组,包括嵌套组: adfind -f“(成员:1.2.840.113556.1.4.1941:= CN = USERDN,OU = USERS,DC = DOMAIN,DC = COM)”samaccountname -list

请从joeware网站找到adfind语法: http://www.joeware.net/freetools/tools/adfind/usage.htm

对于嵌套组,有更多信息: http://msdn.microsoft.com/en-us/library/aa746475(v=vs.85).aspx https://social.technet.microsoft.com/Forums/scriptcenter/en-US/f238d2b0-a1d7-48e8-8a60-542e7ccfa2e8/recursive-retrieval-of-all-ad-group-memberships-of-a-user?forum=ITCG