Você precisa escrever um roteiro Powershell para isso. Você precisa recursivamente obter todas as pastas e subpastas, verificar a herança de cada uma e usar Get-ACL e Set-ACL commadlets adicionar permissões para o sistema conta. Try / catch irá lidar com os erros no script caso não consiga acessar a pasta.
Aqui está a amostra que escrevi para você, presumindo que você recurse na pasta C: \ temp como exemplo.
$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)"
}
}
}
P.S. Para Get-ChildItem com -Directory funcionar, você precisa ter o Powershell 4+. Esta opção está faltando no PS 2.0