如何使用命令行获取NTFS文件的有效权限?

3
根据主题,是否有一种命令或者甚至是一个样本VBScript可以用来在Windows XP和Windows Server 2003操作系统中计算/读取文件的有效权限?我所想要的就是能够获得与NTFS文件的Security->Advanced选项的“有效权限”选项卡中看到的相同信息。
像calcs、icacls等命令不能提供有效的权限-它们可以列出继承的权限,但它们不会“计算”有效权限。
编辑-根据下面的答案,使用VB Script实际上不太可能。我将编写一段代码,然后从VBScript中调用它。
1个回答

5

Sysinternals的AccessChk可以解决这个问题。

没有内置工具来完成此任务。而且我严重怀疑通过VBScript计算有效权限是否可能。

通过调用API函数GetEffectiveRightsFromAcl或使用更现代的Authz API(example,向下滚动一点)可以以编程方式确定有效权限。


1
我正在寻找操作系统本身的东西 - 没有第三方工具。谢谢你的建议。 - user837208
是否可以使用任何Windows API调用实现? - user837208
@HelgeKlein 您的 GetEffectiveRightsFromAcl 链接和 Authz API 示例链接指向同一页。我认为这是一个打字错误。 - Jared
@Jared:看起来确实像是一个打字错误,但是 Authz 的示例在描述 GetEffectiveRightsFromAcl 的页面上(“以下示例显示使用 Authz API 从 ACL 获取有效访问权限。”)。 - Helge Klein

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接