正如问题标题可能暗示的那样,我非常想知道检查给定文件或文件夹的 ntfs 权限的方法(提示:这些是您在“安全”选项卡中看到的那些)。基本上,我需要的是获取文件或目录的路径(在本地机器上,或者最好在远程机器上的共享上)并获取用户/组列表以及此文件/文件夹的相应权限. 最终,应用程序将遍历目录树,读取每个对象的权限并相应地处理它们。
现在,我可以想到多种方法来做到这一点:
- 解析 cacls.exe 输出 - 很容易完成,但是,除非我遗漏了什么,否则 cacls.exe 仅以 R|W|C|F(读/写/更改/完整)的形式提供权限,这是不够的(我需要获得“列出文件夹内容”等权限,也需要扩展权限)
- xcacls.exe 或 xcacls.vbs 输出——是的,它们给了我所需的所有权限,但它们的工作速度非常慢,xcacls.vbs 大约需要一秒钟才能获得本地系统文件的权限。这样的速度是不能接受的
- win32security(它围绕着winapi,对吗?)——我确信它可以像这样处理,但我宁愿不重新发明轮子
还有什么我在这里想念的吗?