Eu recomendaria usar o fileacl - ele é capaz de definir ACLs com o SeBackupPrivelege, não exigindo o usuário no qual você está executando o comando terá as permissões para alterar as ACLs em um determinado objeto. Além disso, ele suporta nativamente a funcionalidade de herança pós-NTFS-5 e é facilmente roteirizado, portanto, com alguma lógica de script de encapsulamento, ele deve fazer o que quiser.