Powershell Dateiberechtigungen setzen

Powershell Dateiberechtigungen setzen

Manage NTFS Permission

Mithilfe der Powershell lassen sich viele Aufgaben und Probleme lösen.

Hier eine kleine Einführung, wie man Dateiberechtigungen setzt und wieder entfernt.

Bevor wir beginnen ist es sinnvoll zu prüfen welche NTFS Berechtigungen es überhaupt gibt. Dieser Befehl gibt uns eine Liste von Rechten aus.

[system.enum]::getnames([System.Security.AccessControl.FileSystemRights])

query ntfs permissions

Auf Laufwerk E: befindet sich ein Ordner namens Daten. In diesem Ordner liegt eine Datei und Manfred soll diese Datei lesen dürfen.

$Berechtigung = Get-ACL -Path “E:\Daten\Rechnung.txt”
$NEUBerechtigung = New-Object System.Security.AccessControl.FileSystemAccessRule(“VMWIN1020H2\Manfred”,”Read”,”Allow”)
$Berechtigung.SetAccessRule($NEUBerechtigung)
$Berechtigung | Set-Acl -Path “E:\Daten\Rechnung.txt”

set ntfs permisson on file

Die aktuellen Berechtigungen auf diese Datei lassen sich wie folgt abfragen.

Get-Acl -Path ‘E:\Daten\Rechnung.txt’ | Select-Object -ExpandProperty Access | Format-Table -Autosize

NTFS Berechtigungen einer Datei prüfen

Nun entfernen wir Manfred wieder den Lesezugriff.

$Berechtigung = Get-ACL -Path “E:\Daten\Rechnung.txt”
$NEUBerechtigung = New-Object System.Security.AccessControl.FileSystemAccessRule(“VMWIN1020H2\Manfred”,”Read”,”Allow”)
$Berechtigung.RemoveAccessRule($NEUBerechtigung)
$Berechtigung | Set-Acl -Path “E:\Daten\Rechnung.txt”

NTFS Berechtigungen mit der Powershell entfernen

Prüfen noch einmal die Berechtigungen.

Get-Acl -Path ‘E:\Daten\Rechnung.txt’ | Select-Object -ExpandProperty Access | Format-Table -Autosize

NTFS Berechtigungen einer Datei auslesen

Optional:

Möchte man mehrere Berechtigungen vergeben, wie z.B. nur das Lesen und Schreiben, dann lautet die Syntax wie folgt:

$NEUBerechtigung = New-Object System.Security.AccessControl.FileSystemAccessRule(“VMWIN1020H2\Manfred”,”ReadData,WriteData“,”Allow”)

Auflistung der dahinterliegenden Eigenschaften:

AppendDataDaten anhängen
ChangePermissionsBerechtigungen ändern
CreateDirectoriesOrdner erstellen
CreateFilesDatei erstellen
DeleteLöschen
DeleteSubdirectoriesAndFilesUnterordner und Daten löschen
ExecuteFileDatei ausführen
FullControlVollzugriff
ListDirectoryOrdner listen
ModifyÄndern
ReadLesen
ReadAndExecuteLesen, Ausführen
ReadAttributesAttribute lesen
ReadDataDaten lesen
ReadExtendedAttributesErweiterte Attribute lesen
ReadPermissionsBerechtigungen lesen
SynchronizeDas Recht, das Objekt für die Synchronisierung zu verwenden. Dadurch kann ein Thread warten, bis sich das Objekt im signalisierten Zustand befindet. Einige Objekttypen unterstützen dieses Zugriffsrecht nicht.
TakeOwnershipBesitz übernehmen
TraverseOrdner durchsuchen
WriteSchreiben
WriteAttributesAttribute schreiben
WriteDataSchreiben
WriteExtendedAttributesErweiterte Attribute schreiben

NTFSSecurity Powershell