Windows behält beim Kopieren eine explizite ACL des Unterordners bei

Windows behält beim Kopieren eine explizite ACL des Unterordners bei

Beim Erstellen neuer Projekte verwenden wir einen Hauptprojektordner. Für einen der Unterordner gelten explizite Zugriffsbeschränkungen, die sich von denen des übergeordneten Ordners unterscheiden.

Diese ACL geht verloren, wenn Sie den Hauptordner kopieren und in ein neues Projekt einfügen. Wir möchten nicht, dass er Teile der ACL vom neuen Projektordner erbt.

Wie pflegen wir die explizite ACL für diesen Ordner und seine Unterordner/Dateien mithilfe des Datei-Explorers? Gibt es eine Möglichkeit, die explizite ACL vor dem Kopieren und Einfügen zu schützen?

Gibt es eine Möglichkeit, dies über ein Skript im kopierten Verzeichnis zu tun, das bei einem Doppelklick die ACL im Unterverzeichnis wiederherstellt?

Ich kann dazu einen Powershell- oder Icacls-Befehl ausführen, sehe aber keine Möglichkeit, dies ohne großen Zeitaufwand über die GUI zu tun.

Vielleicht könnte ich einfach regelmäßig ein Powershell-Skript ausführen, das nach neuen Ordnern in einem bestimmten Verzeichnis sucht und abfragt, ob es neue Ordner gibt, die mit dem Projektordner übereinstimmen, und das eine Reihe von ACLs auf die nachfolgenden neuen Unterordner anwendet.

Antwort1

$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 
    }    
}

verwandte Informationen