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 InputObject van Get-Acl
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 ophaalt.
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 C:\Windows
-map van wie de namen beginnen met s
.
Get-Acl C:\Windows\s*.log | Format-List -Property PSPath, Sddl
De opdracht maakt gebruik van 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 cmdlet Format-List
te verzenden. De opdracht gebruikt de parameter eigenschap van eigenschap van Format-List
om 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 map C:\Windows
van wie de namen beginnen met s
.
Get-Acl C:\Windows\s*.log -Audit | ForEach-Object { $_.Audit.Count }
Hierbij wordt de parameter Audit gebruikt om de auditrecords op te halen uit de SACL in de security descriptor.
Vervolgens wordt de cmdlet ForEach-Object
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 cmdlet Get-Acl
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 die Get-Acl
bij de Format-List
opdracht krijgt, waarmee de eigenschappen van de beveiligingsdescriptor worden opgemaakt als een lijst, zodat ze gemakkelijk leesbaar zijn.
Voorbeeld 5: een ACL ophalen met **InputObject**
In dit voorbeeld wordt de parameter InputObject van Get-Acl
gebruikt om de beveiligingsdescriptor van een subsysteemobject voor opslag 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 parameter Path. Voer een padelement of patroon in, zoals *.txt
. Wildcards zijn toegestaan.
Type: | String[] |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | True |
-Filter
Hiermee specificeert u een filter in de taal of indeling van de provider. De waarde van deze parameter komt in aanmerking voor de parameter Path. 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 parameter Path. Voer een padelement of patroon in, zoals *.txt
. Wildcards 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 Pad, wordt de waarde van de parameter LiteralPath exact gebruikt zoals deze is getypt. Er worden geen tekens geïnterpreteerd als jokertekens. Als het pad escape-tekens bevat, zet het dan tussen enkele aanhalingstekens. Enkele aanhalingstekens zorgen ervoor dat PowerShell geen tekens als escapesequenties interpreteert.
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
krijgt de beveiligingsdescriptor van de resource die wordt aangegeven door het pad. Wildcards zijn toegestaan. Als u de parameter Pad weglaat, krijgt Get-Acl
de beveiligingsdescriptor van de huidige map.
De parameternaam ('Pad') is optioneel.
Type: | String[] |
Position: | 1 |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | True |
Invoerwaarden
U kunt een tekenreeks die een pad naar deze cmdlet bevat, doorgeven.
Uitvoerwaarden
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.
Standaard geeft 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.
- Audit: 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 security descriptor. PowerShell maakt gebruik van de GetSddlForm methode voor beveiligingsdescriptors om deze gegevens op te halen.
Omdat Get-Acl
wordt ondersteund door de bestandssysteem- en registerproviders, kunt u Get-Acl
gebruiken om de ACL van bestandssysteemobjecten, zoals bestanden en mappen, en registerobjecten, zoals registersleutels en vermeldingen, weer te geven.