Permissions

使用 set-acl 添加的使用者權限不會被繼承到文件和子文件夾

  • February 24, 2012

我編寫了兩個 PowerShell 腳本。一個向使用者詢問文件夾名稱。它創建一個具有該名稱的文件夾,給予使用者完全控制權,給予管理員組完全控制權並剝奪繼承的權限,只留下使用者和管理員。第二個腳本要求輸入使用者名並在新文件夾中為該使用者提供修改權限。

它按預期工作,除了一件事:當我在新創建的文件夾中創建文件或文件夾時,它不會繼承這些權限。我查看了安全選項卡,點擊了高級和編輯(在帳戶上),發現有兩件事不是我想要的:

  • “應用於”設置是“僅此文件夾”。當我手動將其設置為“此文件夾、子文件夾和文件”時,它按預期工作
  • 使用第二個腳本創建的使用者具有上述權限,並且沒有勾選“刪除子文件夾和文件”權限框。

添加帳戶圍繞以下幾行進行:

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

$Folderpath是前面設置的指向文件夾的變數。$user_account是之前設置的包含使用者帳戶名稱的變數。

我的問題:

有沒有辦法將這些帳戶正確添加到文件夾權限(權限將被繼承,使用者具有刪除權限)或之後在腳本中更正?

需要更多的繼承標誌;您用於通過僅傳遞三個參數來創建 ACE 的建構子並未指定 ACE 應如何繼承。

試試這個:

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

引用自:https://serverfault.com/questions/363413