【问题标题】:.NET- how to get full list of users with access to a share folder?.NET-如何获取有权访问共享文件夹的用户的完整列表?
【发布时间】:2023-03-03 20:44:01
【问题描述】:

我正在寻找一种有效的方法来查找所有有权访问共享文件夹的用户。我认为可能需要结合这篇文章See if user is part of Active Directory group in C# + Asp.nethow to check if specific user having access to a shared folder location using C#的建议

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

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

谢谢

【问题讨论】:

  • 你检查GetMembers了吗?尽管如此,您必须遍历所有组,但您不必自己递归搜索它们。

标签: c# asp.net acl directory-security


【解决方案1】:

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

cacls <Foldername>

在 c# 中,您可以使用进程调用 cmd,然后也可以获取输出

【讨论】:

  • 我认为这类似于 AuthorizationRuleCollection。它只显示有权访问该文件夹的组和用户。不递归地显示所有组单个组成员。
  • 是的。但是要获取组的成员,您需要具有查询活动目录的权限
  • 如果我以 AD 管理员身份登录会怎样?
猜你喜欢
  • 2012-02-18
  • 1970-01-01
  • 2021-10-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多