Возможно, я нашел решение (ошибка в memcpy стандартной программе) https://bugs.launchpad.net/bugs/609290
Измените первую строку вашего скрипта на следующую, чтобы она применялась только к подпапкам и файлам.
icacls.exe $folder /grant "$domain\$user:(OI)(CI)(IO)(M)"
Затем примените это к верхней папке.
icacls.exe $folder /grant "$domain\$user:(R)"
Предоставить наследуемое разрешение на изменение и установить не наследуемый запрет на удаление самой папки:
icacls folder /deny user:d
icacls folder /grant user:(oi)(ci)m
Это дает им полные права внутри папки, но они не могут изменять саму папку.
icacls $folder /c /grant $domain\$user:(OI)(CI)(X,RD,RA,REA,WD,AD,WA,WEA,DC,RC)
Это дает доступ ИЗМЕНИТЬ ко всем файлам и подкаталогам, но не удалять доступ к Сама $ папка.