如问题标题所示,我非常想知道如何检查给定文件或文件夹的NTFS权限(提示:这些权限在“安全”选项卡中可见)。基本上,我需要获取文件或目录的路径(在本地计算机上或更好的是在远程计算机上共享)并获取用户/组列表以及相应的权限。最终,该应用程序将遍历目录树,读取每个对象的权限并相应地处理它们。
现在,我可以想到几种方法来实现这一点:
现在,我可以想到几种方法来实现这一点:
- 解析cacls.exe输出--很容易做到,但是,除非我漏掉了什么,cacls.exe只以R|W|C|F(读/写/更改/完全控制)的形式给出权限,这是不足够的(我需要像“列出文件夹内容”这样的权限,也需要扩展权限)
- xcacls.exe或xcacls.vbs输出--是的,它们给我所有我需要的权限,但它们工作得非常慢,xcacls.vbs需要大约一秒钟才能获取本地系统文件的权限。这样的速度是无法接受的
- win32security(它包装了winapi,对吧?)--我确信可以像这样处理它,但我宁愿不要重复造轮子