title: Set Folder, Subfolder and File Permission Set-ACL Powershell Script. Setting File Inherititance does not work
body: <p>I need some help with my Powershell Script.
  my customer got a huge directory and i need to change the Security Settings.</p>
  
  <p>I made this code below and It works but i got one problem:
  The inheritance on the Files does not work so the Security permissions on any File in the directory is not set.</p>
  
  <p>Maybe Someone will find my error.</p>
  
  <p>XML File:</p>
  
  <pre class="lang-xml prettyprint-override"><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;Pfade&gt;
      &lt;pfad name="E:\Share\TEST"&gt;
          &lt;gruppe name="Domain Admins"&gt;
              &lt;rechte&gt;FullControl&lt;/rechte&gt;
              &lt;aktion&gt;allow&lt;/aktion&gt;
              &lt;rechtsetzen&gt;Add&lt;/rechtsetzen&gt;
          &lt;/gruppe&gt;
          &lt;gruppe name="gruppe1"&gt;
              &lt;rechte&gt;Modify&lt;/rechte&gt;
              &lt;aktion&gt;allow&lt;/aktion&gt;
              &lt;rechtsetzen&gt;Add&lt;/rechtsetzen&gt;
          &lt;/gruppe&gt;
          &lt;gruppe name="gruppe2"&gt;
              &lt;rechte&gt;Modify&lt;/rechte&gt;
              &lt;aktion&gt;allow&lt;/aktion&gt;
              &lt;rechtsetzen&gt;Add&lt;/rechtsetzen&gt;
          &lt;/gruppe&gt;
          &lt;gruppe name="gruppe3"&gt;
              &lt;rechte&gt;Modify&lt;/rechte&gt;
              &lt;aktion&gt;allow&lt;/aktion&gt;
              &lt;rechtsetzen&gt;Add&lt;/rechtsetzen&gt;
          &lt;/gruppe&gt;
          &lt;gruppe name="gruppe4"&gt;
              &lt;rechte&gt;Modify&lt;/rechte&gt;
              &lt;aktion&gt;allow&lt;/aktion&gt;
              &lt;rechtsetzen&gt;Add&lt;/rechtsetzen&gt;
          &lt;/gruppe&gt;
          &lt;gruppe name="gruppe5"&gt;
              &lt;rechte&gt;Modify&lt;/rechte&gt;
              &lt;aktion&gt;allow&lt;/aktion&gt;
              &lt;rechtsetzen&gt;Add&lt;/rechtsetzen&gt;
          &lt;/gruppe&gt;
          &lt;gruppe name="SYSTEM"&gt;
              &lt;rechte&gt;FullControl&lt;/rechte&gt;
              &lt;aktion&gt;allow&lt;/aktion&gt;
              &lt;rechtsetzen&gt;Add&lt;/rechtsetzen&gt;
          &lt;/gruppe&gt;
      &lt;/pfad&gt;
  &lt;/Pfade&gt;
  </code></pre>
  
  <p>PowerShell:</p>
  
  <pre class="lang-bsh prettyprint-override"><code>    Set-ExecutionPolicy -ExecutionPolicy Unrestricted
  $scriptpath = $MyInvocation.MyCommand.Path
  $dir = Split-Path $scriptpath
  cd $dir
  # Einlesen des XML-Dokuments im aktuellen Skriptpfad (!)
  $doc = [XML](Get-Content -Path struktur.xml)
  
  #### Start TAKEOWN
  $Remotesystem = "\\server1"
  $Adminuser = "domain\admin"
  $yes = "Y"
  $log = "c:\Users\admin\Desktop\log.txt"
  
  
  psexec $Remotesystem 
  TAKEOWN /S $Remotesystem /F $doc.Pfade.pfad.name /D $yes /R &gt;&gt; $log
  #### End TAKEOWN
  
  $inherit = [system.security.accesscontrol.InheritanceFlags]"ContainerInherit, ObjectInherit"
  $propagation = [system.security.accesscontrol.PropagationFlags]"None"
  
  $doc.Pfade.pfad | ForEach-Object {
      $FolderName = $_.name
      $_.gruppe | ForEach-Object {
          $pathrecht  = $_.rechte
          $pathaktion = $_.aktion
          $pathrechts = $_.rechtsetzen
          $pathgruppe = $_.name
          $acl = Get-Acl $FolderName
          $acl.SetAccessRuleProtection($True, $False)
          $rule = New-Object System.Security.AccessControl.FileSystemAccessRule($pathgruppe, $pathrecht, $inherit, $propagation, $pathaktion)
          switch ($pathrechts) {
          Add {$acl.AddAccessRule($rule)}
          Delete {$acl.RemoveAccessRuleAll($rule)}
          }
          Set-Acl $FolderName $acl
          echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"&gt;&gt;log.txt
          $date = Get-Date -format dd.MM.yyyy-HH:mm:ss
          $date&gt;&gt;log.txt
          Get-Acl $FolderName | select Path, Owner, Group, AccessToString | Format-List &gt;&gt;log.txt
          echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"&gt;&gt;log.txt
      }
  }
      echo "########################################################################################"&gt;&gt;log.txt
      echo "########################################################################################"&gt;&gt;log.txt
      echo "########################################################################################"&gt;&gt;log.txt
  cd $dir
  </code></pre>
  
  <p>The Permissions on the Folder and Subfolder is exactly what i want <a href="https://i.stack.imgur.com/uuAei.png" rel="nofollow noreferrer">subfolderpermisson</a>
  but the permission on the file <a href="https://i.stack.imgur.com/94Sgv.png" rel="nofollow noreferrer">filepermission</a> direct ist not set why?</p>