Bulk Set-ACL only with security groups – ACL Cross Forest

1) Sicherheitsgruppen anlegen und in der Beschreibung den physikalischen Pfad hinterlegen. Die Beschreibung wird genutzt um das Ziel für die jeweilige Gruppe zu finden.

 

2) Script anpassen –

Organisationseinheit in dem sich die Sicherheitsgruppen befinden ergänzen

Wenn benötigt zusätzliche Globale Gruppen ergänzen

$Permissions = Get-ADGroup -filter * -searchbase “OU=Gruppen,OU=JR,DC=rehberger,DC=local” -searchscope onelevel -Properties * | select description,name
#$FSAdmin = Get-ADGroup -Identity “Fileserver-Admins” | select name
ForEach ($line in $Permissions)
{
$acl = Get-Acl $line.description
$acl.SetAccessRuleProtection($True,$False)
$rule = New-Object System.Security.AccessControl.FileSystemAccessRule($line.name,”Modify”, “ContainerInherit, ObjectInherit”, “None”, “Allow”)
$acl.AddAccessRule($rule)
#$rule2 = New-Object System.Security.AccessControl.FileSystemAccessRule($FSAdmin.name,”FullControl”, “ContainerInherit, ObjectInherit”, “None”, “Allow”)
#$acl.AddAccessRule($rule2)
$rule3 = New-Object System.Security.AccessControl.FileSystemAccessRule(“NT AUTHORITY\SYSTEM”,”FullControl”, “ContainerInherit, ObjectInherit”, “None”, “Allow”)
$acl.AddAccessRule($rule3)
Set-Acl $line.description $acl -Verbose
Get-Acl $line.description | select Path,AccessToString | fl
}

3) Ergebnis

 

Um die bereits gesetzen Berechtigungen anzupassen die Variable “$acl.AddAccessRule” auf “$acl.SetAccessRule” abändern.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert