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

本文关键字:读取 嵌套 Directory Active 用户 SAMAccountName | 更新日期: 2023-09-27 18:30:14

我需要一个函数来递归地获取指定用户(作为函数参数)所属的所有组名。Function头应该是这样的,其中SAMAccountName是我想从中获取组的用户名:

public List<string> GetUsersGroups(string SAMAccountName);

我希望你能帮助我。

提前谢谢。

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

我假设您的问题是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