Windows 2003;查找具有非继承/更改权限的文件夹

Windows 2003;查找具有非继承/更改权限的文件夹

问题:我正在寻找一种好方法来审核/搜索目录结构(Windows 2003)并找到任何不从其父级继承权限或添加了其他用户/组的文件夹。

背景故事

我们正在将旧的 Windows 2003 文件服务器迁移到 2008 R2 机箱。此旧服务器是从 NT4 迁移过来的。大多数当前文件夹使用旧的(已弃用?)Domain\Administrators 和 Domain\Users 组。这些组虽然仍在 AD 中,但我无法使用这些组来获取 2008 R2 权限中的权限。

因此,在将所有共享数据从旧服务器复制到新服务器之前,我首先需要“现代化”旧共享上的权限。但是,我知道在过去的几十年里,一些[未记录的]文件夹的权限已被修改为不从父级继承或添加其他用户。因此,我正在寻找找到它们的方法!

答案1

我建议使用 Powershell(适用于 Win2003:http://support.microsoft.com/kb/968929/en-us) 以及一个附加模块(http://gallery.technet.microsoft.com/scriptcenter/1abd77a5-9c0b-4a2b-acef-90dbb2b84e85)。

这将首先帮助您获取文件夹结构的继承(从起始文件夹运行时)例如。

get-childitem -Recurse | get-inheritance | export-CSV C:\Inheritance.csv -NoTypeInformation

您将获得 csv 中的所有文件和文件夹,然后可以根据需要在 Excel 或其他数据库中进行过滤。

NTFSSecurity Modul 的另一个好处是,您也可以在迁移期间使用类似的 Powershell 脚本更改继承或 ACL。

例如,您可以使用以下命令完全删除文件夹(您的起始文件夹)中的继承:

get-childitem | Disable-Inheritance

或者再次为所有子文件夹/文件添加 -recurse 开关。

希望这能有所帮助

答案2

这很容易设置ACL.像这样运行:

SetACL -on "some path" -ot file -actn list -lst f:csv -rec cont

该命令指示 SetACL 打印来自仅那些物体具有明确权限,这是因为 ACE 被添加到启用了继承的目录中,或者因为继承被禁用并且设置了新的 ACE。

SetACL 处理长度超过 260 个字符的路径并列出任何目录的 ACE,而不管当前的权限如何,即即使您没有读取权限,SetACL 也会向您显示其中的内容并打印权限(需要管理员权限)。

相关内容