0

我知道这个:

如何使用powershell编写文件夹中的所有权限?

$Acl = Get-Acl "C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER01\MSSQL\DATA"
Set-Acl "C:\Program Files\Microsoft SQL Server\test" $Acl

但是,如何不复制和覆盖目标文件夹的当前权限,而只是添加补充权限呢?

例如,将所有权限从source复制到target ,但保留target的现有权限。

最后,目标文件夹将拥有其以前的所有权限以及对文件夹的所有权限。

4

1 回答 1

0

从目标获取 ACL 权限,然后将源权限添加到它,然后重新应用到目标

这是一个仅添加单个权限的示例:

$NewFolderRule = New-Object  System.Security.AccessControl.FileSystemAccessRule("MyDomain\Domain Admins","FullControl","ContainerInherit,ObjectInherit","None","Allow")

$DestinationFilePath = 'c:\temp'

$DestinationACL = Get-ACL $DestinationFilePath
$DestinationACL.AddAccessRule($NewFolderRule)
Set-ACL -Path $DestinationFilePath -AclObject $DestinationACL

...但是这个 Powershell 模块让生活变得更轻松,值得使用:

NTFS 安全 PS 模块

于 2019-09-06T06:59:22.477 回答