我需要一个函数以递归方式获取指定用户(作为函数参数)所属的所有组名。 Function标题应该如下所示SAMAccountName
是我想要从中获取组的用户名:
public List<string> GetUsersGroups(string SAMAccountName);
我希望你能帮助我。
提前致谢。
答案 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