Delen via


Get-Acl

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

Syntaxis

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 voor toegang tot de resource.

Vanaf Windows PowerShell 3.0 kunt u de parameter Get-Acl InputObject 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 .log bestanden in de map opgegeven waarvan de C:\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 maakt gebruik van 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 worden afgekapt weergegeven in tabellen.

De SDDL-waarden zijn waardevol voor systeembeheerders, omdat ze eenvoudige teksttekenreeksen 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 van wie 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 security descriptor. 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 ophalen voor een registersleutel

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 geeft u de subsleutel Control op. De pijplijnoperator (|) geeft de beveiligingsdescriptor door aan Get-Acl de Format-List opdracht, waarmee de eigenschappen van de beveiligingsdescriptor worden opgemaakt als een lijst, zodat ze gemakkelijk te lezen zijn.

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

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

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

Parameters

-Audit

Haalt de controlegegevens voor de beveiligingsdescriptor op uit de systeemtoegangsbeheerlijst (SACL).

Type:SwitchParameter
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren: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
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren: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 deze toepast bij het ophalen van de objecten in plaats van PowerShell de objecten te filteren nadat ze zijn opgehaald.

Type:String
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren: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
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren: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
Vereist:True
Pijplijninvoer accepteren:False
Jokertekens accepteren: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 is 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 als escapereeksen moeten worden geïnterpreteerd.

Deze parameter wordt geïntroduceerd in Windows PowerShell 3.0.

Type:String[]
Aliassen:PSPath
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:True
Jokertekens accepteren: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 haalt u de beveiligingsdescriptor van de huidige map op.

De parameternaam ('Pad') is optioneel.

Type:String[]
Position:1
Default value:None
Vereist:False
Pijplijninvoer accepteren:True
Jokertekens accepteren:True

Invoerwaarden

String

U kunt een tekenreeks met een pad naar deze cmdlet doorsluisen.

Uitvoerwaarden

FileSecurity

DirectorySecurity

RegistrySecurity

Met deze cmdlet wordt een object geretourneerd dat de ACL's vertegenwoordigt die worden opgehaald. Het objecttype is afhankelijk van het ACL-type.

Notities

Deze cmdlet is alleen beschikbaar op Windows-platforms.

Get-Acl Standaard wordt het PowerShell-pad naar de resource (<provider>::<resource-path>), de eigenaar van de resource en Access weergegeven, 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 definitietaal van de security descriptor. PowerShell maakt gebruik van de GetSddlForm-methode van beveiligingsdescriptors om deze gegevens op te halen.

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