Windows mantiene la ACL explícita de la subcarpeta al copiar

Windows mantiene la ACL explícita de la subcarpeta al copiar

Usamos una carpeta de proyecto maestra al crear nuevos proyectos; una de las subcarpetas tiene restricciones de acceso explícitas que son diferentes a las de la carpeta que la contiene.

Esa ACL se pierde cuando copia y pega la carpeta maestra en un nuevo proyecto. No queremos que herede ninguna parte de la ACL de la nueva carpeta del proyecto.

¿Cómo mantenemos la ACL explícita para esa carpeta y sus subcarpetas/archivos usando el explorador de archivos? ¿Hay alguna manera de proteger la ACL explícita al copiar y pegar?

¿Hay alguna manera de hacer esto a través de una secuencia de comandos dentro del directorio copiado que, al hacer doble clic, restauraría la ACL en el subdirectorio?

Puedo ejecutar un comando de PowerShell para hacerlo o un comando de icacls, pero no veo una manera de hacerlo a través de la interfaz gráfica de usuario sin quedarme sin aliento.

Tal vez podría simplemente ejecutar un script de PowerShell periódicamente, que busca nuevas carpetas en un directorio en particular y consulta si hay alguna nueva que coincida con la carpeta del proyecto y aplique un conjunto de ACL a las nuevas subcarpetas posteriores.

Respuesta1

$SearchFolderPath = "C:\shares\Data\Clients & Projects\Projects"

$MasterFolder = "C:\shares\Data\ACL Scripts\Sample Folders\Master-test"

$AllFolders = Get-ChildItem -Path $SearchFolderPath -Directory -Recurse

$NameToMatch = "Folder Name to match"

$MasterAcl = Get-Acl -Path $MasterFolder

foreach($Folder in $AllFolders)
{   
    if($Folder.FullName -ne $MasterFolder -and $Folder.Name -match ".*$NameToMatch.*")
    {
       $MasterAcl | Set-Acl -Path $Folder.FullName  
       Write-Host "The Master ACL path has been set to $($Folder.FullName)" -ForegroundColor Green 
    }    
}

información relacionada