4 Pluspunkte 0 Minuspunkte
Wie kann ich mit Powershell die NTFS Berechtigungen für Dateien und Ordner setzen?
von  

2 Antworten

2 Pluspunkte 0 Minuspunkte

Du kannst icacls verwenden. Mit

icacls <pfad>

zeigst du die aktuellen Berechtigungen an. Möchtest du einem Benutzer Lese- und Schreibrechte vergeben geht das mit

icacls <pfad> /grant <user>:R
icacls <pfad> /grant <user>:W

Möchtest du einen User entfernen geht das mit

icacls <pfad> /remove <user>

Das ganze kannst du auch mit Gruppen machen.

icacls <pfad> /grant <group>:R
icacls <pfad> /grant <group>:W

Die Dateiberechtigungen zurücksetzen kannst du mit

icacls <pfad> /reset

von (776 Punkte)  
2 Pluspunkte 0 Minuspunkte

In Powershell kannst du Berechtigungen mit dem Cmdlet Set-ACl setzen und bearbeiten.

$acl = new-object System.Security.AccessControl.DirectorySecurity
$acl.SetAccessRuleProtection($true, $true)

$rule1 = New-Object System.Security.AccessControl.FileSystemAccessRule("$env:USERNAME", "FullControl", "ContainerInherit,ObjectInherit", "None", "Allow")
$rule2 = New-Object System.Security.AccessControl.FileSystemAccessRule("NT AUTHORITY\SYSTEM", "FullControl", "ContainerInherit,ObjectInherit", "None", "Allow")

$acl.SetAccessRule($rule1)
$acl.AddAccessRule($rule2)

$acl | Set-Acl -Path "D:\test.txt"
von (732 Punkte)