Wie man Get-Acl für einen bestimmten Benutzer in PowerShell erhält
-
Einführung in
Get-Acl
in PowerShell - Abrufen der ACL für einen bestimmten Benutzer
-
Get-Acl
-Ausgabe interpretieren - Praktische Beispiele
-
Verwenden Sie
Get-Acl
, um die Berechtigung für einen bestimmten Benutzer in PowerShell zu überprüfen - Fazit

PowerShell, ein leistungsstarkes Automatisierungstool, bietet zahlreiche Cmdlets zur Verwaltung verschiedener Aspekte einer Windows-Umgebung.
Eines der grundlegenden Cmdlets ist Get-Acl
, was für Access Control List steht. Es ermöglicht Administratoren, den Sicherheitsdescriptor (Berechtigungen) einer Datei, eines Ordners oder eines Registrierungsschlüssels abzurufen und zu überprüfen.
In diesem Artikel werden wir die Feinheiten der Verwendung von Get-Acl
speziell für einen bestimmten Benutzer näher beleuchten. Wir werden die Syntax, Optionen und praktische Beispiele behandeln, um Ihnen zu helfen, Zugriffsrechte effektiv in Ihrer Windows-Umgebung zu verwalten.
Einführung in Get-Acl
in PowerShell
Get-Acl
ist ein PowerShell-Cmdlet, das verwendet wird, um die Zugriffssteuerungsliste (ACL) für eine Datei, ein Verzeichnis oder einen Registrierungsschlüssel abzurufen. Die ACL enthält eine Liste von Zugriffssteuerungseinträgen (ACEs), die definieren, wer auf das Objekt zugreifen kann und welches Zugriffslevel er hat.
Das Verständnis und die Verwaltung von Berechtigungen sind entscheidend für den Erhalt einer sicheren und organisierten Computerumgebung. Get-Acl
unterstützt Administratoren, indem es ein Mittel bereitstellt, um Berechtigungen programmgesteuert zu überprüfen und zu ändern.
Grundsyntax:
Get-Acl [-Path] <String[]> [-Audit] [-AllCentralAccessPolicies] [-Directory] [-Filter <String>] [-Include <String[]>] [-LiteralPath <String[]>] [-Owner] [-Access <String>] [-UseTransaction] [<CommonParameters>]
Häufige Parameter:
-Path |
Gibt den Pfad des Elements an, für das die ACL abgerufen werden soll. |
-Audit |
Ruft Prüfregeln ab. |
-Owner |
Ruft die Eigentümerinformationen ab. |
-Access |
Ruft nur spezifische Arten von Zugriffsregeln ab. |
-UseTransaction |
Ermöglicht die Verwendung einer Transaktion für das Cmdlet. |
-InputObject |
Bietet Ihnen den Sicherheitsdescriptor für das spezifische Objekt. |
-LiteralPath |
Wird verwendet, um den Pfad einer Ressource oder Datei anzugeben. Der Wert für diesen Parameter sollte genau so verwendet werden, wie er eingegeben wurde. |
Erweiterte Optionen:
-AllCentralAccessPolicies |
Ruft alle zentralen Zugriffsrichtlinien ab. |
-Directory |
Gibt an, dass das Element ein Verzeichnis ist. |
-Filter |
Filtert die Ergebnisse basierend auf den angegebenen Kriterien. |
-Include |
Ruft nur die angegebenen Elemente ab. |
-Exclude |
Schließt das spezifische Element aus. Hier muss der Pfad angegeben werden. |
Abrufen der ACL für einen bestimmten Benutzer
Verwendung des Parameters Path
Der einfachste Weg, die ACL für einen bestimmten Benutzer abzurufen, ist die Verwendung des Parameters Path
zusammen mit dem Pfad zum Element (Datei, Verzeichnis oder Registrierungsschlüssel).
Get-Acl -Path 'C:\Example\File.txt'
Den Benutzer mit Where-Object
angeben
Um die Ergebnisse für einen bestimmten Benutzer zu filtern, können Sie das Cmdlet Where-Object
zusammen mit Get-Acl
verwenden. Dies ermöglicht es Ihnen, nur die ACEs auszuwählen, die für den gewünschten Benutzer relevant sind.
Get-Acl -Path 'C:\Example\File.txt' | Where-Object { $_.Access | Where-Object { $_.IdentityReference -eq 'DOMAIN\User' } }
Der Code sucht nach spezifischen Zugriffsregeln innerhalb der ACL der Datei C:\Example\File.txt
, die den Benutzer mit der Identität 'DOMAIN\User'
betreffen. Wenn übereinstimmende Regeln vorhanden sind, werden diese in der Ausgabe angezeigt. Andernfalls wird die Ausgabe leer sein.
Get-Acl
-Ausgabe interpretieren
Zugriffsregeln
Die Ausgabe von Get-Acl
enthält Informationen über Zugriffsregeln. Jede Regel gibt einen Benutzer oder eine Gruppe, eine Art von Zugriff (z. B. Lesen, Schreiben) an und ob die Regel den Zugriff erlaubt oder verweigert.
Prüfregeln
Wenn der Parameter -Audit
verwendet wird, werden auch Prüfregeln einbezogen. Diese Regeln geben an, welche Arten von Zugriff für einen bestimmten Benutzer oder eine Gruppe geprüft werden sollen.
Eigentümer und Gruppe
Get-Acl
kann auch Informationen über den Eigentümer des Elements und die damit verbundene Gruppe abrufen.
Praktische Beispiele
Beispiel 1: Abrufen der ACL für eine Datei
Der folgende Befehl ruft die Zugriffssteuerungsliste (ACL) für die Datei ab, die sich unter C:\Example\File.txt
befindet. Dieser Befehl gibt Informationen über die Berechtigungen und Zugriffsregeln zurück, die mit dieser spezifischen Datei verknüpft sind.
Get-Acl -Path 'C:\Example\File.txt'
Beispiel 2: Abrufen der ACL für ein Verzeichnis
Der folgende Befehl funktioniert genau wie der obige Befehl, ruft jedoch die ACL für ein anderes Verzeichnis ab.
Get-Acl -Path 'C:\Example\Directory'
Beispiel 3: Überprüfen der Berechtigungen für einen Registrierungsschlüssel
Der folgende Befehl ruft die Zugriffssteuerungsliste (ACL) für den Registrierungsschlüssel ab, der sich unter HKLM:\SOFTWARE\ExampleKey
befindet. Dieser Befehl gibt Informationen über die Berechtigungen und Zugriffsregeln zurück, die mit diesem spezifischen Registrierungsschlüssel verknüpft sind.
Get-Acl -Path 'HKLM:\SOFTWARE\ExampleKey'
Beispiel 4: Filtern nach Zugriffsart:
Sie können den Parameter -Access
verwenden, um nur spezifische Arten von Zugriffsregeln (z. B. Lesen, Schreiben) abzurufen.
Get-Acl -Path 'C:\Example\File.txt' -Access Read, Write
Beispiel 5: Ausgabeformatierung:
Sie können die Ausgabe mit Cmdlets wie Format-Table
oder Format-List
für eine bessere Lesbarkeit formatieren.
Get-Acl -Path 'C:\Example\File.txt' | Format-Table -Property Path, AccessToString
Verwenden Sie Get-Acl
, um die Berechtigung für einen bestimmten Benutzer in PowerShell zu überprüfen
Manchmal müssen wir die Berechtigungen für einen bestimmten Benutzer überprüfen. Wir benötigen dies für verschiedene Zwecke, z. B. zur Steuerung des Zugriffs auf eine bestimmte Datei. Mit der Hilfe von PowerShell können wir die Berechtigungen zum Zugriff auf die Datei problemlos einsehen.
Nachfolgend finden Sie ein PowerShell-Skript, mit dem wir den Berechtigungsstatus für die Systemadministratoren überprüfen werden.
Get-Acl g:\ | Select-Object -ExpandProperty Access | Where-Object identityreference -EQ "BUILTIN\Administrators"
Dieser Code ruft die Zugriffssteuerungsinformationen für das Verzeichnis ab, das sich unter g:\
befindet, und filtert dann diese Informationen, um nur die Zugriffsregeln für die Gruppe "Administrators"
anzuzeigen. Dies kann nützlich sein für das Prüfen oder Verwalten von Berechtigungen für ein bestimmtes Verzeichnis.
Die Ausgabe des obigen Codes wird eine Liste von Zugriffsregeln sein, die speziell der Gruppe "Administrators"
für das Verzeichnis unter g:\
zugeordnet sind. Die Ausgabe enthält Details zu den gewährten Berechtigungen, der Identität, auf die sich die Berechtigungen beziehen, und weiteren verwandten Informationen.
FileSystemRights : 268435456
AccessControlType : Allow
IdentityReference : BUILTIN\Administrators
IsInherited : False
InheritanceFlags : ContainerInherit, ObjectInherit
PropagationFlags : InheritOnly
FileSystemRights : FullControl
AccessControlType : Allow
IdentityReference : BUILTIN\Administrators
IsInherited : False
InheritanceFlags : None
PropagationFlags : None
Fazit
Get-Acl
ist ein kraftvolles Cmdlet, das eine entscheidende Rolle bei der Verwaltung von Berechtigungen innerhalb einer Windows-Umgebung spielt. Durch das Verständnis seiner Syntax und die Nutzung seiner verschiedenen Parameter können Administratoren effizient Zugriffssteuerungsinformationen abrufen und analysieren.
Dieses Wissen ist von unschätzbarem Wert für die Aufrechterhaltung einer sicheren und organisierten Computerumgebung.
Denken Sie daran, Vorsicht walten zu lassen, wenn Sie Änderungen an Berechtigungen vornehmen, und immer sicherzustellen, dass Sie geeignete Backups haben, bevor Sie ACLs ändern. Mit Get-Acl
als Teil Ihres PowerShell-Werkzeugsatzes haben Sie ein wertvolles Werkzeug zur Verfügung, um eine sichere und gut verwaltete Windows-Umgebung aufrechtzuerhalten.
Aminul Is an Expert Technical Writer and Full-Stack Developer. He has hands-on working experience on numerous Developer Platforms and SAAS startups. He is highly skilled in numerous Programming languages and Frameworks. He can write professional technical articles like Reviews, Programming, Documentation, SOP, User manual, Whitepaper, etc.
LinkedIn