使用 set-acl 添加的用户权限不会继承到文件和子文件夹

Erw*_*onk 3 powershell permissions user-permissions

我写了两个 PowerShell 脚本。一个要求用户提供文件夹名称。它创建一个具有该名称的文件夹,赋予用户完全控制权,赋予管理员组完全控制权并剥离继承的权限,只留下用户和管理员。第二个脚本要求输入用户名并在新文件夹中为该用户提供修改权限。

它按预期工作,除了一件事:当我在新创建的文件夹中创建文件或文件夹时,它不会继承这些权限。我查看了安全选项卡,单击了高级和编辑(在帐户上),发现了 2 件事不是我想要的:

  • “应用于”设置为“仅此文件夹”。当我手动将其设置为“此文件夹、子文件夹和文件”时,它按预期工作
  • 用第二个脚本创建的用户有上述情况,权限框“删除子文件夹和文件”没有打勾。

添加帐户围绕以下几行:

$Acl = Get-Acl $Folderpath
$Ar = New-Object system.Security.AccessControl.FileSystemAccessRule($user_account,"FullControl","Allow")
$Acl.Setaccessrule($Ar)
Set-Acl $Folderpath $Acl
Run Code Online (Sandbox Code Playgroud)

$Folderpath是之前设置的指向文件夹的变量。$user_account是先前设置的包含用户帐户名称的变量。

我的问题:

有没有办法将这些帐户正确添加到文件夹权限(权限将被继承,用户具有删除权限)或之后在脚本中更正它?

Sha*_*den 6

需要更多的继承标志;您用于通过仅传递三个参数来创建 ACE 的构造函数并未指定 ACE 应如何继承。

尝试这个:

$Ar = New-Object system.Security.AccessControl.FileSystemAccessRule($user_account, "FullControl", "ContainerInherit, ObjectInherit", "None", "Allow")
Run Code Online (Sandbox Code Playgroud)