Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# .NET-如何获取可访问共享文件夹的用户的完整列表?_C#_Asp.net_Acl_Directory Security - Fatal编程技术网

C# .NET-如何获取可访问共享文件夹的用户的完整列表?

C# .NET-如何获取可访问共享文件夹的用户的完整列表?,c#,asp.net,acl,directory-security,C#,Asp.net,Acl,Directory Security,我正在寻找一种有效的方法来查找所有可以访问共享文件夹的用户。我认为可能需要将这篇文章中的建议和 我发现使用AuthorizationRuleCollection只能找到有权访问文件夹的组和用户,而不能找到组成员。如果文件夹仅授予用户组而非个人用户帐户,则我找不到哪个用户有权访问此文件夹。在这种情况下,我必须检查这些用户组中的所有成员(子成员) 在所有组中循环并列出组成员(子组)是可以的,只是想知道是否有更有效/更好的方法可以立即获得完整的用户列表?(不一定是.NET方法,可以是任何方法,如命令提

我正在寻找一种有效的方法来查找所有可以访问共享文件夹的用户。我认为可能需要将这篇文章中的建议和

我发现使用AuthorizationRuleCollection只能找到有权访问文件夹的组和用户,而不能找到组成员。如果文件夹仅授予用户组而非个人用户帐户,则我找不到哪个用户有权访问此文件夹。在这种情况下,我必须检查这些用户组中的所有成员(子成员)

在所有组中循环并列出组成员(子组)是可以的,只是想知道是否有更有效/更好的方法可以立即获得完整的用户列表?(不一定是.NET方法,可以是任何方法,如命令提示符或powershell)


谢谢

使用命令提示符,您可以让所有用户访问共享文件夹

cacls <Foldername>
cacls

从c#可以使用process调用cmd,然后也可以获得输出

您检查过了吗?尽管如此,您必须遍历所有组,但不必自己递归地搜索它们。我认为这类似于AuthorizationRuleCollection。它仅显示有权访问该文件夹的组和用户。不递归显示所有组单个组成员。是的。但要获取组成员,您需要具有查询活动目录的权限。如果我以AD管理员身份登录,会怎么样?