Get-Acl

Hiermee haalt u de beveiligingsdescriptor voor een resource op, zoals een bestand of registersleutel.

Syntax

Get-Acl
   [[-Path] <String[]>]
   [-Audit]
   [-Filter <String>]
   [-Include <String[]>]
   [-Exclude <String[]>]
   [<CommonParameters>]
Get-Acl
   -InputObject <PSObject>
   [-Audit]
   [-Filter <String>]
   [-Include <String[]>]
   [-Exclude <String[]>]
   [<CommonParameters>]
Get-Acl
   [-LiteralPath <String[]>]
   [-Audit]
   [-Filter <String>]
   [-Include <String[]>]
   [-Exclude <String[]>]
   [<CommonParameters>]

Description

Deze cmdlet is alleen beschikbaar op het Windows-platform.

De Get-Acl cmdlet haalt objecten op die de beveiligingsdescriptor van een bestand of resource vertegenwoordigen. De beveiligingsdescriptor bevat de toegangsbeheerlijsten (ACL's) van de resource. De ACL geeft de machtigingen op die gebruikers en gebruikersgroepen hebben om toegang te krijgen tot de resource.

Vanaf Windows PowerShell 3.0 kunt u de parameter Get-AclInputObject gebruiken om de beveiligingsdescriptor op te halen van objecten die geen pad hebben.

Voorbeelden

Voorbeeld 1: Een ACL voor een map ophalen

In dit voorbeeld wordt de beveiligingsdescriptor van de C:\Windows map opgeslagen.

Get-Acl C:\Windows

Voorbeeld 2: een ACL ophalen voor een map met jokertekens

In dit voorbeeld worden het PowerShell-pad en SDDL voor alle bestanden in de map opgegeven waarvan de .logC:\Windows namen beginnen s.

Get-Acl C:\Windows\s*.log | Format-List -Property PSPath, Sddl

De opdracht gebruikt de Get-Acl cmdlet om objecten op te halen die de beveiligingsdescriptors van elk logboekbestand vertegenwoordigen. Er wordt een pijplijnoperator (|) gebruikt om de resultaten naar de Format-List cmdlet te verzenden. De opdracht gebruikt de eigenschapsparameter om Format-List alleen de PsPath - en SDDL-eigenschappen van elk beveiligingsdescriptorobject weer te geven.

Lijsten worden vaak gebruikt in PowerShell, omdat lange waarden in tabellen worden afgekapt.

De SDDL-waarden zijn waardevol voor systeembeheerders, omdat dit eenvoudige tekenreeksen zijn die alle informatie in de beveiligingsdescriptor bevatten. Als zodanig zijn ze gemakkelijk door te geven en op te slaan, en ze kunnen indien nodig worden geparseerd.

Voorbeeld 3: het aantal controlevermeldingen voor een ACL ophalen

In dit voorbeeld worden de beveiligingsdescriptors van de .log bestanden in de C:\Windows map weergegeven waarvan de namen beginnen.s

Get-Acl C:\Windows\s*.log -Audit | ForEach-Object { $_.Audit.Count }

Hierbij wordt de auditparameter gebruikt om de auditrecords op te halen uit de SACL in de beveiligingsdescriptor. Vervolgens wordt de ForEach-Object cmdlet gebruikt om het aantal controlerecords te tellen dat aan elk bestand is gekoppeld. Het resultaat is een lijst met getallen die het aantal controlerecords voor elk logboekbestand vertegenwoordigen.

Voorbeeld 4: een ACL voor een registersleutel ophalen

In dit voorbeeld wordt de Get-Acl cmdlet gebruikt om de beveiligingsdescriptor van de subsleutel Control (HKLM:\SYSTEM\CurrentControlSet\Control) van het register op te halen.

Get-Acl -Path HKLM:\System\CurrentControlSet\Control | Format-List

Met de parameter Path wordt de subsleutel Control opgegeven. De pijplijnoperator (|) geeft de beveiligingsdescriptor door die Get-Acl naar de Format-List opdracht wordt geleid, waarmee de eigenschappen van de beveiligingsdescriptor worden opgemaakt als een lijst, zodat ze gemakkelijk te lezen zijn.

Voorbeeld 5: een ACL ophalen met behulp van **InputObject**

In dit voorbeeld wordt de parameter InputObject gebruikt om Get-Acl de beveiligingsdescriptor van een opslagsubsysteemobject op te halen.

Get-Acl -InputObject (Get-StorageSubSystem -Name S087)

Parameters

-Audit

Hiermee worden de controlegegevens voor de beveiligingsdescriptor opgehaald uit de systeemtoegangsbeheerlijst (SACL).

Type:SwitchParameter
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-Exclude

Hiermee worden de opgegeven items weggelaten. De waarde van deze parameter komt in aanmerking voor de path-parameter . Voer een padelement of -patroon in, zoals *.txt. Jokertekens zijn toegestaan.

Type:String[]
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:True
-Filter

Hiermee geeft u een filter in de indeling of taal van de provider. De waarde van deze parameter komt in aanmerking voor de path-parameter . De syntaxis van het filter, inclusief het gebruik van jokertekens, is afhankelijk van de provider. Filters zijn efficiënter dan andere parameters, omdat de provider ze toepast bij het ophalen van de objecten, in plaats van PowerShell de objecten te laten filteren nadat ze zijn opgehaald.

Type:String
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:True
-Include

Hiermee haalt u alleen de opgegeven items op. De waarde van deze parameter komt in aanmerking voor de path-parameter . Voer een padelement of -patroon in, zoals *.txt. Jokertekens zijn toegestaan.

Type:String[]
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:True
-InputObject

Hiermee haalt u de beveiligingsdescriptor voor het opgegeven object op. Voer een variabele in die het object of een opdracht bevat waarmee het object wordt opgehaald.

U kunt een object, behalve een pad, niet doorsluisen naar Get-Acl. Gebruik in plaats daarvan de parameter InputObject expliciet in de opdracht.

Deze parameter wordt geïntroduceerd in Windows PowerShell 3.0.

Type:PSObject
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-LiteralPath

Hiermee geeft u het pad naar een resource. In tegenstelling tot Path wordt de waarde van de parameter LiteralPath precies gebruikt zoals deze wordt getypt. Er worden geen tekens geïnterpreteerd als jokertekens. Als het pad escapetekens bevat, plaatst u het tussen enkele aanhalingstekens. Enkele aanhalingstekens geven PowerShell aan dat er geen tekens moeten worden geïnterpreteerd als escapereeksen.

Deze parameter wordt geïntroduceerd in Windows PowerShell 3.0.

Type:String[]
Aliases:PSPath
Position:Named
Default value:None
Accept pipeline input:True
Accept wildcard characters:False
-Path

Hiermee geeft u het pad naar een resource. Get-Acl haalt de beveiligingsdescriptor op van de resource die wordt aangegeven door het pad. Jokertekens zijn toegestaan. Als u de parameter Path weglaat, Get-Acl wordt de beveiligingsdescriptor van de huidige map opgevraagd.

De parameternaam ("Pad") is optioneel.

Type:String[]
Position:1
Default value:None
Accept pipeline input:True
Accept wildcard characters:True

Invoerwaarden

String

U kunt een tekenreeks met een pad naar Get-Acl.

Uitvoerwaarden

System.Security.AccessControl.FileSecurity, System.Security.AccessControl.DirectorySecurity, System.Security.AccessControl.RegistrySecurity

Get-Acl retourneert een object dat de ACL's vertegenwoordigt die het krijgt. Het objecttype is afhankelijk van het type ACL.

Notities

Deze cmdlet is alleen beschikbaar op Windows-platforms.

Geeft standaard Get-Acl het PowerShell-pad weer naar de resource (<provider>::<resource-path>), de eigenaar van de resource en 'Access', een lijst (matrix) van de vermeldingen voor toegangsbeheer in de discretionaire toegangsbeheerlijst (DACL) voor de resource. De DACL-lijst wordt beheerd door de resource-eigenaar.

Wanneer u het resultaat opmaken als een lijst, (Get-Acl | Format-List), naast het pad, de eigenaar en de toegangslijst, worden in PowerShell de volgende eigenschappen en eigenschapswaarden weergegeven:

  • Groep: De beveiligingsgroep van de eigenaar.
  • Controle: Een lijst (matrix) met vermeldingen in de systeemtoegangsbeheerlijst (SACL). De SACL geeft de typen toegangspogingen op waarvoor Windows auditrecords genereert.
  • Sddl: De beveiligingsdescriptor van de resource die wordt weergegeven in één tekenreeks in de indeling Definitietaal van de Security Descriptor. PowerShell gebruikt de Methode GetSddlForm van beveiligingsdescriptors om deze gegevens op te halen.

Omdat Get-Acl dit wordt ondersteund door de bestandssysteem- en registerproviders, kunt u de Get-Acl ACL van bestandssysteemobjecten weergeven, zoals bestanden en mappen, en registerobjecten, zoals registersleutels en vermeldingen.