Get-Acl
Hiermee haalt u de beveiligingsdescriptor op voor een resource, 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.
Met Get-Acl
de cmdlet worden objecten opgehaald die de beveiligingsdescriptor van een bestand of resource vertegenwoordigen. De security descriptor 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 ophalen voor een map
In dit voorbeeld wordt de beveiligingsdescriptor van de C:\Windows
map opgeslagen.
Get-Acl C:\Windows
Voorbeeld 2: een ACL voor een map ophalen met behulp van jokertekens
In dit voorbeeld worden het PowerShell-pad en de SDDL voor alle bestanden in de map opgeslagen waarvan de .log
C:\Windows
namen beginnen met 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 eigenschap parameter 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 in tabellen worden afgekapt.
De SDDL-waarden zijn waardevol voor systeembeheerders, omdat het eenvoudige teksttekenreeksen zijn die alle informatie in de security descriptor bevatten. Als zodanig zijn ze gemakkelijk door te geven en op te slaan en kunnen ze worden geparseerd wanneer dat nodig is.
Voorbeeld 3: Het aantal controlevermeldingen voor een ACL ophalen
In dit voorbeeld worden de beveiligingsdescriptors van de .log
bestanden in de map opgeslagen waarvan de C:\Windows
namen beginnen met s
.
Get-Acl C:\Windows\s*.log -Audit | ForEach-Object { $_.Audit.Count }
De parameter Audit wordt 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 wordt de subsleutel Control opgegeven. De pijplijnoperator (|
) geeft de beveiligingsdescriptor door aan Get-Acl
de Format-List
opdracht, waarmee de eigenschappen van de security descriptor 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 van Get-Acl
gebruikt om de beveiligingsdescriptor van een opslagsubsysteemobject op te halen.
Get-Acl -InputObject (Get-StorageSubSystem -Name S087)
Parameters
-Audit
Haalt de controlegegevens voor de security descriptor op uit de sacl (system access control list).
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Exclude
Laat de opgegeven items weg. 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 |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-Filter
Hiermee geeft u een filter op 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 dat PowerShell de objecten filtert nadat ze zijn opgehaald.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-Include
Haalt 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 |
Required: | False |
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 bevat of een opdracht waarmee het object wordt opgehaald.
U kunt een ander object dan een pad niet doorsluisen naar Get-Acl
. Gebruik in plaats daarvan de parameter InputObject expliciet in de opdracht .
Deze parameter is geïntroduceerd in Windows PowerShell 3.0.
Type: | PSObject |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-LiteralPath
Hiermee geeft u het pad naar een resource op. In tegenstelling tot Path wordt de waarde van de parameter LiteralPath precies gebruikt zoals deze is getypt. Geen tekens worden geïnterpreteerd als jokertekens. Als het pad escape-tekens bevat, plaatst u het tussen enkele aanhalingstekens. Enkele aanhalingstekens geven PowerShell aan dat geen tekens als escape-reeksen worden geïnterpreteerd.
Deze parameter is geïntroduceerd in Windows PowerShell 3.0.
Type: | String[] |
Aliases: | PSPath |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Path
Hiermee geeft u het pad naar een resource op. Get-Acl
haalt de beveiligingsdescriptor op van de resource die wordt aangegeven door het pad. Jokertekens zijn toegestaan. Als u de path-parameter weglaat, Get-Acl
wordt de beveiligingsdescriptor van de huidige map opgevraagd.
De parameternaam ('Pad') is optioneel.
Type: | String[] |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | True |
Invoerwaarden
U kunt een tekenreeks doorsnijden die een pad naar deze cmdlet bevat.
Uitvoerwaarden
Deze cmdlet retourneert een object dat de ACL's vertegenwoordigt die worden opgehaald. Het objecttype is afhankelijk van het type ACL.
Notities
Deze cmdlet is alleen beschikbaar op Windows-platforms.
Get-Acl
Standaard wordt het PowerShell-pad weergegeven naar de resource (<provider>::<resource-path>
), de eigenaar van de resource en 'Access', een lijst (matrix) met de vermeldingen voor toegangsbeheer in de discretionaire toegangsbeheerlijst (DACL) voor de resource. De DACL-lijst wordt beheerd door de eigenaar van de resource.
Wanneer u het resultaat opmaken als een lijst (Get-Acl | Format-List
), worden naast het pad, de eigenaar en de toegangslijst de volgende eigenschappen en eigenschapswaarden weergegeven:
- Groep: de beveiligingsgroep van de eigenaar.
- Audit: een lijst (matrix) met vermeldingen in de sacl (system access control list). De SACL specificeert de typen toegangspogingen waarvoor Windows controlerecords genereert.
- Sddl: De beveiligingsdescriptor van de resource die wordt weergegeven in één teksttekenreeks in de definitietaal van security descriptor. PowerShell gebruikt de methode GetSddlForm van beveiligingsdescriptors om deze gegevens op te halen.
Omdat Get-Acl
wordt ondersteund door het bestandssysteem en registerproviders, kunt u gebruiken Get-Acl
om de ACL van bestandssysteemobjecten, zoals bestanden en mappen, en registerobjecten, zoals registersleutels en vermeldingen, weer te geven.