Mit PowerShell Filesystem-Rechte setzen: ACL
Um bei einem bestehenden Ordner einen User mit Schreib-Berechtigungen hinzuzufügen, kann folgendes Skript verwendet werden:
$folder="C:\Myfolder"
$username="Benutzername"
$permission="Modify"
$Acl = Get-Acl $folder
$Ar = New-Object system.security.accesscontrol.filesystemaccessrule($username,$permission,'ContainerInherit,ObjectInherit', 'None', 'Allow')
$Acl.SetAccessRule($Ar)
Set-Acl $folder $Acl
Das Skript ließt die aktuellen Berechtigungen aus und schreibt diese in die Variable $Acl. Im Anschluss wird ein Berechtigungs-Objekt mit dem User und den gewünschten Berechtigungen erstellt und in der Variable $Ar gespeichert. Zu guter Letzt wird das erstellte Objekt ($Ar) dann zu den zuvor ausgelesenen Berechtigungen hinzugefügt und diese dann auf den Ordner geschrieben: Set-Acl
Mit "ContainerInherit und ObjectInherit wird das Recht auf den Ordner und deren Files gesetzt.
Als Berechtigung könnte anstelle von "Modify" z.B. auch "FullControll" verwendet werden.

{{percentage}} % positiv

DANKE für deine Bewertung!
<< AD: Active Directory Daten auslesen | PowerShell Beispiele | Roulette verdoppeln: Gewinn garantiert? Martingale Simulator >>
Top-Artikel in diesem Bereich
PowerShell: Dateiattribute: Datum ändern - ganz ohne Tools
Als Alternative zu speziellen Programmen kann auch mit PowerShell das Datum einer Datei oder eines Ordners geändert werden.
Als Alternative zu speziellen Programmen kann auch mit PowerShell das Datum einer Datei oder eines Ordners geändert werden.
PowerShell Email versenden: Send-MailMessage
In PowerShell kann über einen einfachen Befehl eine Email versendet werden: "Send-MailMessage". Mit dem Befehl kann das Versenden von Mails außerhalb der Applikation rein mit PowerShell getestet werden:
In PowerShell kann über einen einfachen Befehl eine Email versendet werden: "Send-MailMessage". Mit dem Befehl kann das Versenden von Mails außerhalb der Applikation rein mit PowerShell getestet werden:
Fragen / Kommentare
(sortiert nach Bewertung / Datum) [alle Kommentare(neueste zuerst)]
Hi, ich versuche gerade Dein Script in meinen Prozess mit einzubauen. Leider taucht da eine Fehlermeldung auf, die ich nicht verstehe: New-Object : Für "FileSystemAccessRule" und die folgende Argumenteanzahl kann keine Überladung gefunden werden: "5". In C:\Scripts\New AD User.ps1:29 Zeichen:7 + $Ar = New-Object system.security.accesscontrol.filesystemaccessrule( ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidOperation: (:) [New-Object], MethodException + FullyQualifiedErrorId : ConstructorInvokedThrowException,Microsoft.PowerShell.Commands.NewObjectCommand Ausnahme beim Aufrufen von "SetAccessRule" mit 1 Argument(en): "Der Wert darf nicht NULL sein. Parametername: rule" In C:\Scripts\New AD User.ps1:31 Zeichen:1 + $Acl.SetAccessRule($Ar) + ~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (:) [], MethodInvocationException + FullyQualifiedErrorId : ArgumentNullException Was kann das bedeuten?