No PowerShell, usando Get-Acl
e Set-Acl
, você pode modificar a ACL manipulando a string SDDL.
Primeiro, pegue o objeto ACL.
$acl = Get-Acl -Path C:\YourFile.txt
Agora, pegue a string SDDL:
$sddl = $acl.sddl
Agora você pode substituir o SID na string pelo que deseja. Isso usa uma expressão regular para atualizar correspondências parciais.
$sddl2 = $sddl -replace "S-1-5-21-[0-9-]+", "ExistingSIDHere"
Em seguida, atualize o objeto da ACL:
$acl.SetSecurityDescriptorSddlForm($sddl2)
Em seguida, defina a ACL do objeto:
Set-Acl -AclObject $acl -Path C:\YourFile.txt