icacls.exe がいまいち で書いたんですけど、icacles.exe で保存した ACL を復元すると勝手に ACL 継承しちゃいます。
でも、icacls.exe での ACL 保存は使えます。使えないのは restore です。
icacls.exe で保存した file を開いてみてください。SDDL で書かれています。
これ自体は使えるので復元方法を検討します。
実は legacy の cacls.exe には /S switch があります。この switch に icacls.exe で保存された SDDL を渡します。
cacls.exe /S:"D:P(A;;GRGX;;;PU)(A;;GA;;;BA)(A;;GA;;;SY)"
な感じで継承の影響を受けずに復元できます。
でも、非常に気に食わないので、icacls.exe で保存した file をそのまま復元できる tool の開発を真面目に検討中。