Der Anwender oder auch Administrator kann schnell den Überblick bei umfangreichen Datei- und Verzeichnisrechten verlieren. Um sich einen Überblick über die aktuellen Datei-Rechte zu verschaffen, bietet die PowerShell das Kommando

Get-Acl

an, welches wir Euch heute hier näher erläutern möchten. Wenn Ihr z.B. ein Verzeichnis, welches auch eine untergeordnete Ordnerstruktur enthält, nach bestimmten Verzeichnisrechten absuchen möchtet, so hilft Euch folgender Befehl.

Get-Acl *.docx

Es ist am einfachsten, wenn Ihr mit der PowerShell Konsole direkt in dem Verzeichnis steht, von dem Ihr die Verzeichnisrechte abrufen möchtet. So wie hier in diesem nachfolgenden Beispiel:

Get-Acl Liste

Natürlich könnt Ihr anstatt des Platzhalters „*.docx“, der in diesem Fall nur die Word-Dokumente verarbeitet, auch jeden anderen Platzhalter einsetzen.

  • *.* für alle Dateien
  • *.tmp für alle Dateien, die mit der Endung „.tmp“ aufhören.
  • abc*.* für alle Dateien, die mit ABC beginnen.
  • usw.

Ebenso ist es möglich, vor dem Platzhalter auch noch den Pfadnamen anzugeben. Dies würde dann wie folgt aussehen.

Get-Acl c:\Windows-Faq.de\*.docx

Wenn sich allerdings ein Leerzeichen im Ordnernamen befindet, so müsst Ihr dies in Häkchen setzen. Das lautet dann also:

Get-Acl ‚c:\Program Files\*.*‘

An der oben dargestellten Liste ist allerdings etwas unschön, da der Wert „Access“ nur zum Teil dargestellt wird. Wenn Ihr eine vollständige Liste mit allen Daten erhalten möchtet, dann müsst Ihr folgenden PowerShell Befehl für die Dateiberechtigungen absetzen.

Get-Acl *.* |fl

|fl“ bedeutet „Format List„, sodass die Liste in einer formatierten Ausgabe angezeigt wird. Hier nachfolgend haben wir Euch das Ergebnis dieser PowerShell Abfrage dargestellt.

Get-Acl ausführliche Auflistung

Entscheidend ist hier der Parameter „|fl„, der aus der tabellarischen Ansicht eine Liste macht. Allerdings umfasst diese Liste nun Felder, die wir eigentlich gar nicht sehen wollen, denn wir möchten uns nur auf die Spalten Path, Owner, Group und Access konzentrieren. Wir können den „Get-Acl“ Befehl so modifizieren, dass wir nur diese Fehler angezeigt bekommen.

Get-Acl *.* | Select path, owner, group, access | fl

Dann sieht die Ausgabe wie folgt aus:

Get-Acl Liste mit Owser, Group und Acccess

Das ist nun genau die Datei Berechtigungsliste, die wir gesucht haben. Allerdings ist Get-Acl nicht in der Lage rekursiv zu arbeiten, dass heißt es müssen noch weitere Parameter hinzugenommen werden, damit der Befehl rekursiv durch alle Unterverzeichnisse geht und diese Berechtigungen ebenfalls noch mit auflistet.

Der Befehl lautet dann:

get-childitem *.* -recurse | get-acl |fl

Weitere nützliche PowerShell Kommandos findet Ihr auch in diesen Beiträgen:

– WindowsUpdate.log bei Windows 10 auslesen bzw. per PowerShell umformatieren
– Windows Rollen und Features mit der PowerShell installieren
– Computer Systeminformationen mit der PowerShell auslesen
– Exchange Kontingente (Quota) Einstellungen per PowerShell abfragen
– Mit WINRM den Windows Client für Remote PowerShell Kommandos vorbereiten
– Mit der PowerShell lokale User und Gruppen bearbeiten
– Windows Systemlaufzeit per PowerShell ermitteln
– Windows 10 System-Wiederherstellungspunkt mit der PowerShell erstellen
– Windows herunterfahren und neu starten mit PowerShell Befehlen
– Windows Komponentenstore reparieren mit DISM und PowerShell Befehle
– UAC (Benutzerkontensteuerung) per PowerShell oder Registry abschalten bei Windows 10
– PowerShell Befehl zum Deaktivieren der Firewall