I have a typical "Account Unknown" on many files from old/other Windows installations and there are a ton of typical answers everywhere.
However, I'm not looking for typical takeown, subinacl, xcacls or GUI solution.
I'd like to change those unknown SIDs to known local SID but maintain permission types and inheritance.
So far the only thing close to what I'm looking for is PowerShell script: http://poshcode.org/2081 wich allows deleting unknown SIDs in network shares. It contains basic logic for finding unknown SIDs but I have yet to find a way to replace SID in FileSystemAccessRule object but I'm not that fluent in PowerShell or .NET.
If I'm not wrong, this article on MS TechNet is suggesting construction of FileSystemAccessRule and that can be accomplished.
Does anyone know if there is a better solution to this? Maybe there is an application, command line tool or cmdlet for this job?

subinaclwhen it is actually the right answer? – JdeBP Feb 4 at 11:45subinacl– AndyDeGroo Feb 4 at 16:31