答案1
我会使用 Powershell,特别是 Set-ACL。我找不到太多文档,但这里有一些:https://ss64.com/ps/set-acl.html和https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.security/set-acl?view=powershell-7
它看起来像这样:
#要设置权限的文件夹
$Path = “C:\test”
#检索当前 ACL
$ACL = Get-Acl $Path
#添加到 ACL 的对象
$Object = "测试组"
#这将为具有遍历权限的引用对象创建访问控制实体(ACE),仅适用于子文件夹和文件,并允许。
$Rule = New-Object System.Security.AccessControl.FileSystemAccessRule("$Object","Traverse", "ContainerInherit, ObjectInherit", "InheritOnly", "Allow")
#这会将 ACE 添加到现有的 ACL,以便添加权限,而不是覆盖。
$ACL.AddAccessRule($Rule)
#您可以通过重复前面的步骤继续添加更多权限,例如如果您想添加 ListFolder 权限:
$Rule = New-Object System.Security.AccessControl.FileSystemAccessRule("$Object","ListDirectory", "ContainerInherit, ObjectInherit", "InheritOnly", "Allow")
$ACL.AddAccessRule($Rule)
#然后你最终可以使用以下命令应用新的 ACL:
设置 Acl $Path $ACL