title: Setting Inheritance and Propagation flags with set-acl and powershell
body: <p>I am trying to mimic the action of right-clicking on a folder, setting "modify" on a folder, and having the permissions apply to the specific folder and subfolders and files.</p>
  
  <p>I'm mostly there using Powershell, however the inheritance is only being set as "subfolders and files" instead of the whole "this folder, subfolders and files".</p>
  
  <p>Is there some unlisted flag for System.Security.AccessControl.PropagationFlags that will set this properly?</p>
  
  <p>Here's what I'm working with so far.</p>
  
  <pre><code>$Folders = Get-childItem c:\TEMP\
  $InheritanceFlag = [System.Security.AccessControl.InheritanceFlags]::ContainerInherit -bor [System.Security.AccessControl.InheritanceFlags]::ObjectInherit
  $PropagationFlag = [System.Security.AccessControl.PropagationFlags]::InheritOnly
  $objType = [System.Security.AccessControl.AccessControlType]::Allow 
  
  foreach ($TempFolder in $Folders)
  {
  echo "Loop Iteration"
  $Folder = $TempFolder.FullName
  
  $acl = Get-Acl $Folder
  $permission = "domain\user","Modify", $InheritanceFlag, $PropagationFlag, $objType
  $accessRule = New-Object System.Security.AccessControl.FileSystemAccessRule $permission
  
  $acl.SetAccessRule($accessRule)
  Set-Acl $Folder $acl
  } 
  </code></pre>