通过Powershell获取NTFS权限,并通过管道输出在不同位置设置相同的权限



我正在将CIFS共享文件和子文件夹从一个系统移动到另一个系统,并且我希望将目标的顶级文件夹设置为与源的顶级文件夹具有相同的ACL。在某些情况下,这是多达25个用户和组。

有没有办法从源顶级文件夹获取ACL,并通过管道将输出应用到顶级目标文件夹?

您可以非常容易地复制ACL:

Get-Acl -Path <SourceFolder> | Set-Acl -Path <DestinationFolder>

但这不是很有说服力。它只会从一个文件夹中获取ACL并将其应用于另一个文件夹。如果你要复制一整棵树,你的相似性可能会有所不同。

Robocopy通常与/COPYALL参数一起用于这些情况。您可以在不使用/create进行复制的情况下创建树。你可能需要修修补补才能让它只做一个文件夹。在不了解项目细节的情况下很难说,但如果你感兴趣,请查看帮助文件。

我还要指出,这里有一个很棒的NTFS模块。我一直在使用它,它非常强大,而且很容易编写脚本。

如果这有帮助,请告诉我。

最新更新