Aufgrund einer Änderung eines Speicherortes musste eine komplette Struktur von Benutzerordnern neugestaltet werden. Dazu musste die Struktur an einen anderen Speicherort verschoben werden und auch die personenbezogenen Berechtigungen komplett angepasst werden mussten.
Um diese Anforderung umzusetzen habe ich folgendes Skript verwandt:
$Startordner= "X:" $Domäne = "domain.local" foreach($personalfolder in (get-childitem $Startordner| where {$_.psiscontainer -eq $true})) { $acl= Get-acl ($Startordner + $personalfolder) $user = $Domäne + "\" + $personalfolder $permission = $user,"FullControl","ContainerInherit, ObjectInherit","None","Allow" $accessRule = New-Object System.Security.AccessControl.FileSystemAccessRule $permission $acl.SetAccessRule($accessRule) $acl | Set-Acl ($Startordner + $personalfolder) }
Dabei werden die Ordnernamen ermittelt und diese verwandt, um ihn mit dem Domänennamen zu verknüpfen. Dieser Datenstamm wird dann auf dem Ordner angewandt, um „Full Access“ inkl. der Vererbung für den Hauptordner und allen unterliegenden Objekten.