Freigeben über


Get-Acl

Ruft die Sicherheitsbeschreibung für eine Ressource ab, z. B. für eine Datei oder einen Registrierungsschlüssel.

Syntax

Get-Acl [[-Path] <string[]>] [-Audit] [-Exclude <string[]>] [-Filter <string>] [-Include <string[]>] [-UseTransaction] [<CommonParameters>]

Beschreibung

Mit dem Cmdlet "Get-Acl" werden Objekte abgerufen, die die Sicherheitsbeschreibung für eine Datei oder eine Ressource darstellen. Die Sicherheitsbeschreibung enthält die Zugriffssteuerungslisten (Access Control Lists, ACL) der Ressource. Die ACL gibt die Zugriffsberechtigungen von Benutzern und Benutzergruppen für die Ressource an.

Parameter

-Audit

Ruft die Überwachungsdaten für die Sicherheitsbeschreibung aus der Zugriffssteuerungsliste für das System (System Access Control List, SACL) ab.

Erforderlich?

false

Position?

named

Standardwert

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

-Exclude <string[]>

Lässt die angegebenen Elemente aus. Der Path-Parameter wird durch den Wert dieses Parameters qualifiziert. Geben Sie ein Pfadelement oder -muster wie "*.txt" ein. Platzhalter sind zulässig.

Erforderlich?

false

Position?

named

Standardwert

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

-Filter <string>

Gibt einen Filter im Format oder in der Sprache des Anbieters an. Der Path-Parameter wird durch den Wert dieses Parameters qualifiziert. Die Syntax des Filters einschließlich der Verwendung von Platzhaltern ist vom Anbieter abhängig. Filter sind effizienter als andere Parameter, da sie beim Abrufen der Objekte vom Anbieter angewendet werden und die Objekte nicht erst nach dem Abrufen von Windows PowerShell gefiltert werden.

Erforderlich?

false

Position?

named

Standardwert

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

-Include <string[]>

Ruft nur die angegebenen Elemente ab. Der Path-Parameter wird durch den Wert dieses Parameters qualifiziert. Geben Sie ein Pfadelement oder -muster wie "*.txt" ein. Platzhalter sind zulässig.

Erforderlich?

false

Position?

named

Standardwert

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

-Path <string[]>

Gibt den Pfad zu einer Ressource an. Mit Get-Acl wird die Sicherheitsbeschreibung der durch den Pfad angegebenen Ressource abgerufen. Platzhalter sind zulässig. Wenn Sie keinen Path-Parameter angeben, wird die Sicherheitsbeschreibung des aktuellen Verzeichnisses von Get-Acl abgerufen.

Der Parametername ("Path") ist optional.

Erforderlich?

false

Position?

1

Standardwert

Pipelineeingaben akzeptieren?

true (ByValue, ByPropertyName)

Platzhalterzeichen akzeptieren?

false

-UseTransaction

Schließt den Befehl in die aktive Transaktion ein. Dieser Parameter ist nur gültig, wenn eine Transaktion ausgeführt wird. Weitere Informationen finden Sie unter "about_Transactions".

Erforderlich?

false

Position?

named

Standardwert

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

<CommonParameters>

Dieses Cmdlet unterstützt die folgenden allgemeinen Parameter: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer und -OutVariable. Weitere Informationen finden Sie unter about_Commonparameters.

Eingaben und Ausgaben

Der Eingabetyp ist der Typ der Objekte, die über die Pipeline an das Cmdlet übergeben werden können. Der Rückgabetyp ist der Typ der Objekte, die das Cmdlet zurückgibt.

Eingaben

System.String

Sie können eine Zeichenfolge mit einem Pfad über die Pipeline an Get-Acl übergeben.

Ausgaben

System.Security.AccessControl

Get-Acl gibt ein Objekt zurück, das die abgerufenen ACLs darstellt. Der Objekttyp hängt vom ACL-Typ ab.

Hinweise

Get-Acl zeigt standardmäßig den Windows PowerShell-Pfad zur Ressource an (<Anbieter>::<Ressourcenpfad>) sowie den Besitzer der Ressource und "Access", eine Liste (Array) der Zugriffssteuerungseinträge in der freigegebenen Zugriffssteuerungsliste (Discretionary Access Control List, DACL) für die Ressource. Die DACL-Liste wird vom Besitzer der Ressource gesteuert.

Wenn Sie das Ergebnis als Liste formatieren ("get-acl | Format-List"), zeigt Windows PowerShell neben dem Pfad, dem Besitzer und der Zugriffsliste noch folgende Felder an:

– Group: Die Sicherheitsgruppe des Besitzers.

– Audit: Eine Liste (Array) der Einträge in der SACL (System Access Control List). In der SACL wird angegeben, für welche Zugriffsversuche von Windows Überwachungsdatensätze generiert werden.

– Sddl: Die Sicherheitsbeschreibung der Ressource, die in einer einzelnen Textzeichenfolge im SDDL (Security Descriptor Definition Language)-Format angezeigt wird. Diese Daten werden von Windows PowerShell mit der GetSddlForm-Methode für Sicherheitsbeschreibungen abgerufen.

Get-Acl wird von Dateisystem- und Registrierungsanbietern unterstützt, sodass Sie mit Get-Acl die ACL von Dateisystemobjekten wie Dateien und Verzeichnissen und Registrierungsobjekten wie Registrierungsschlüsseln und -einträgen anzeigen können.

Beispiel 1

C:\PS>get-acl C:\windows

Beschreibung
-----------
Mit diesem Befehl wird die Sicherheitsbeschreibung des Verzeichnisses "C:\Windows" abgerufen.





Beispiel 2

C:\PS>get-acl C:\Windows\k*.log | format-list -property PSPath, Sddl

Beschreibung
-----------
Mit diesem Befehl werden der Windows PowerShell-Pfad und die SDDL für alle LOG-Dateien im Verzeichnis "C:\Windows" abgerufen, deren Name mit "k" beginnt. 

Mithilfe des Cmdlets "Get-Acl" ruft der Befehl Objekte ab, die die Sicherheitsbeschreibungen der einzelnen Protokolldateien darstellen. Die Ergebnisse werden mit einem Pipelineoperator (|) an das Cmdlet "Format-List" gesendet. Vom Befehl wird der Property-Parameter von Format-List verwendet, um nur die PsPath-Eigenschaft und die SDDL-Eigenschaft der einzelnen Sicherheitsbeschreibungsobjekte anzuzeigen.

Listen werden in Windows PowerShell häufig zur Darstellung verwendet, da lange Werte in Tabellen abgeschnitten werden.

SDDL-Werte sind für Systemadministratoren hilfreich, da es sich um einfache Textzeichenfolgen mit allen Informationen aus der Sicherheitsbeschreibung handelt. Diese können einfach weitergegeben, gespeichert und bei Bedarf analysiert werden.





Beispiel 3

C:\PS>get-ACL c:/windows/k*.log -Audit | foreach-object { $_.Audit.Count }

Beschreibung
-----------
Mit diesem Befehl werden die Sicherheitsbeschreibungen der LOG-Dateien im Verzeichnis "C:\Windows" abgerufen, deren Namen mit "k" beginnen. Er ruft die Überwachungsdatensätze mithilfe des Audit-Parameters aus der SACL in der Sicherheitsbeschreibung ab. Anschließend wird mithilfe des For-EachObject-Parameters für jede Datei die Anzahl der zugeordneten Überwachungsdatensätze berechnet. Das Ergebnis ist eine Liste mit der Anzahl der Überwachungsdatensätze für jede Protokolldatei.





Beispiel 4

C:\PS>get-acl -path hklm:\system\currentcontrolset\control | format-list

Beschreibung
-----------
Mit diesem Befehl wird mithilfe von Get-Acl die Sicherheitsbeschreibung des Unterschlüssels "Control" (HKLM\SYSTEM\CurrentControlSet\Control) der Registrierung abgerufen.

Der Unterschlüssel "Control" wird durch den Path-Parameter angegeben. Die mit Get-Acl abgerufene Sicherheitsbeschreibung wird mit dem Pipelineoperator (|) an den Befehl "Format-List" übergeben. Mit diesem Befehl werden die Eigenschaften der Sicherheitsbeschreibung zur besseren Lesbarkeit als Liste formatiert.





Siehe auch

Konzepte

Set-Acl