PowerShell: ACL-Befehle als User ausführen
Guten Morgen allerseits
Ich habe ein PowerShell Skript geschrieben welches unter anderem die Aufgabe hat Daten aus einem Ordner in einen anderen Ordner zu verschieben.
Gleichzeitig werden die Berechtigungen gelöscht damit die Vererbung auf dem Zielordner die Berechtigungen neu setzen kann.
Hier mal folgender Code ausschnitt:
$acl = $null
$acl = Get-acl $destinationpath\$foldernameIKAKorrekrur
#$acl | Format-List
$inherit =[system.security.accesscontrol.InheritanceFlags]"ContainerInherit,ObjectInherit"
$propagation =[system.security.accesscontrol.PropagationFlags]"None"
$accessrule = New-Object System.Security.AccessControl.FileSystemAccessRule("$domain\Administrator","FullControl", $inherit, $Propagation ,,,"Allow")
$acl.RemoveAccessRuleAll($accessrule)
#$acl
set-acl -aclobject $acl "$destinationpath\$foldernameIKAKorrekrur"
Wenn ich dies als Administrator ausführe funktioniert auch alles ohne Problem.
Das Problem ist nun, dass dieses Skript ein Standardbenutzer ausführen muss welcher keine Domain Admin Rechte hat.
Ich habe das mal getestet und es kommt die Fehlermeldung, dass Set-Acl aufgrund mangelnder Berechtigungen nicht ausgeführt werden kann.
Hat jemand evtl. eine Lösung?
Die Benutzerkontensteuerung kann ich nicht ändern.
Freundliche Grüsse
Dario
Ich habe ein PowerShell Skript geschrieben welches unter anderem die Aufgabe hat Daten aus einem Ordner in einen anderen Ordner zu verschieben.
Gleichzeitig werden die Berechtigungen gelöscht damit die Vererbung auf dem Zielordner die Berechtigungen neu setzen kann.
Hier mal folgender Code ausschnitt:
$acl = $null
$acl = Get-acl $destinationpath\$foldernameIKAKorrekrur
#$acl | Format-List
$inherit =[system.security.accesscontrol.InheritanceFlags]"ContainerInherit,ObjectInherit"
$propagation =[system.security.accesscontrol.PropagationFlags]"None"
$accessrule = New-Object System.Security.AccessControl.FileSystemAccessRule("$domain\Administrator","FullControl", $inherit, $Propagation ,,,"Allow")
$acl.RemoveAccessRuleAll($accessrule)
#$acl
set-acl -aclobject $acl "$destinationpath\$foldernameIKAKorrekrur"
Wenn ich dies als Administrator ausführe funktioniert auch alles ohne Problem.
Das Problem ist nun, dass dieses Skript ein Standardbenutzer ausführen muss welcher keine Domain Admin Rechte hat.
Ich habe das mal getestet und es kommt die Fehlermeldung, dass Set-Acl aufgrund mangelnder Berechtigungen nicht ausgeführt werden kann.
Hat jemand evtl. eine Lösung?
Die Benutzerkontensteuerung kann ich nicht ändern.
Freundliche Grüsse
Dario
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 338617
Url: https://administrator.de/contentid/338617
Ausgedruckt am: 22.11.2024 um 08:11 Uhr
3 Kommentare
Neuester Kommentar
Logisch muss der User das Recht auf dem Ordner haben Zugriffsrechte zu ändern, hat er das dort nicht kann er sie auch nicht ändern, ganz einfach.
Also, gebe dem User dort oder übergeordnet das Recht die ACLs zu ändern, oder lass das Skript über die Aufgabenplanung mit System/Adminrechten ausführen.
Gruß
Also, gebe dem User dort oder übergeordnet das Recht die ACLs zu ändern, oder lass das Skript über die Aufgabenplanung mit System/Adminrechten ausführen.
Gruß
Der User bzw. die Gruppe hat Vollzugriff auf dem Zielordner.
User bekommen erst das Gruppen-Token wenn sie sich neu anmelden nachdem sie zur Gruppe hinzugefügt wurden.BTW, hier fehlt das SetAccessProtection um die Vererbung entsprechend zu setzen.
Niemand hier kennt deine Ordnerrechte und sonstige Infos zum System...da wird das hier mal wieder ein Glaskugelbowling.