使用用户SAMAccountName从Active Directory读取嵌套组名
本文关键字:读取 嵌套 Directory Active 用户 SAMAccountName | 更新日期: 2023-09-27 18:30:14
我需要一个函数来递归地获取指定用户(作为函数参数)所属的所有组名。Function头应该是这样的,其中SAMAccountName
是我想从中获取组的用户名:
public List<string> GetUsersGroups(string SAMAccountName);
我希望你能帮助我。
提前谢谢。
我假设您的问题是active directory端的知识,而不是c#。
基本上任务是ldap操作,但我将使用adfind举例说明,adfind是一种快速方便的工具,可以将ldap查询输出到csv文件。您必须自己创建函数。
您需要两个功能:
函数1,从samaccountname中查找DN:adfind-dsq-f samaccountname=用户名
函数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).aspxhttps://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