Dafür müssen Sie ein Powershell-Skript schreiben. Sie müssen rekursiv alle Ordner und Unterordner abrufen, die Vererbung überprüfen und mithilfe von Get-ACL und Set-ACL- Commadlets Berechtigungen für das Systemkonto hinzufügen . Try / catch behandelt die Fehler, falls das Skript nicht auf den Ordner zugreifen kann.
Hier ist das Beispiel, das ich für Sie geschrieben habe, unter der Annahme, dass Sie als Beispiel im Ordner C: \ temp reurse.
$folders = (Get-ChildItem c:\temp -Directory -Recurse) | select -ExpandProperty fullname foreach ($item in $folders) { $inheritance = (Get-Acl $item).access[0] | select -ExpandProperty isinherited if ($inheritance -eq $false) { try { $acl = Get-Acl $item $AccessRule = New-Object System.Security.AccessControl.FileSystemAccessRule ("System","FullControl","Allow") $acl.SetAccessRule($AccessRule) $acl | Set-Acl $item } catch { "Failed to access folder $item" "Exception type is $($_.Exception.GetType().Name)" } } }
PS Damit Get-ChildItem mit -Directory funktioniert, benötigen Sie Powershell 4+. Dieser Schalter fehlt in PS 2.0