Get-Acl
Hämtar säkerhetsbeskrivningen för en resurs, till exempel en fil eller registernyckel.
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
Den här cmdleten är endast tillgänglig på Windows-plattformen.
Cmdleten Get-Acl
hämtar objekt som representerar säkerhetsbeskrivningen för en fil eller resurs. Säkerhetsbeskrivningen innehåller resursens åtkomstkontrollistor (ACL:er). ACL anger de behörigheter som användare och användargrupper har för att komma åt resursen.
Från och med Windows PowerShell 3.0 kan du använda parametern Get-Acl
InputObject för att hämta säkerhetsbeskrivningen för objekt som inte har någon sökväg.
Exempel
Exempel 1 – Hämta en ACL för en mapp
Det här exemplet hämtar katalogens C:\Windows
säkerhetsbeskrivning.
Get-Acl C:\Windows
Exempel 2 – Hämta en ACL för en mapp med jokertecken
Det här exemplet hämtar PowerShell-sökvägen och SDDL för alla .log
filer i katalogen C:\Windows
vars namn börjar med s
.
Get-Acl C:\Windows\s*.log | Format-List -Property PSPath, Sddl
Kommandot använder cmdleten Get-Acl
för att hämta objekt som representerar säkerhetsbeskrivningarna för varje loggfil. Den använder en pipelineoperator (|
) för att skicka resultatet till cmdleten Format-List
. Kommandot använder egenskapsparametern Format-List
för för att endast visa egenskaperna PsPath och SDDL för varje säkerhetsbeskrivningsobjekt.
Listor används ofta i PowerShell eftersom långa värden visas trunkerade i tabeller.
SDDL-värdena är värdefulla för systemadministratörer eftersom de är enkla textsträngar som innehåller all information i säkerhetsbeskrivningen. Därför är de lätta att skicka och lagra, och de kan parsas när det behövs.
Exempel 3 – Få antal granskningsposter för en ACL
Det här exemplet hämtar säkerhetsbeskrivningarna för .log
filerna i katalogen C:\Windows
vars namn börjar med s
.
Get-Acl C:\Windows\s*.log -Audit | ForEach-Object { $_.Audit.Count }
Den använder parametern Granskning för att hämta granskningsposterna från SACL i säkerhetsbeskrivningen.
Sedan använder den cmdleten ForEach-Object
för att räkna antalet granskningsposter som är associerade med varje fil. Resultatet är en lista med tal som representerar antalet granskningsposter för varje loggfil.
Exempel 4 – Hämta en ACL för en registernyckel
I det här exemplet används cmdleten Get-Acl
för att hämta säkerhetsbeskrivningen för undernyckeln Kontroll (HKLM:\SYSTEM\CurrentControlSet\Control
) i registret.
Get-Acl -Path HKLM:\System\CurrentControlSet\Control | Format-List
Parametern Path anger undernyckeln Kontroll. Pipelineoperatorn (|
) skickar säkerhetsbeskrivningen som Get-Acl
kommer till Format-List
kommandot, som formaterar egenskaperna för säkerhetsbeskrivningen som en lista så att de är lätta att läsa.
Exempel 5 – Hämta en ACL med **InputObject**
I det här exemplet används parametern Get-Acl
InputObject för för att hämta säkerhetsbeskrivningen för ett lagringsundersystemobjekt.
Get-Acl -InputObject (Get-StorageSubSystem -Name S087)
Parametrar
-Audit
Hämtar granskningsdata för säkerhetsbeskrivningen från systemåtkomstkontrollistan (SACL).
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Exclude
Utelämnar de angivna objekten. Värdet för den här parametern kvalificerar parametern Path . Ange ett sökvägselement eller mönster, till exempel *.txt
. Jokertecken tillåts.
Typ: | String[] |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | True |
-Filter
Anger ett filter i providerns format eller språk. Värdet för den här parametern kvalificerar parametern Path . Syntaxen för filtret, inklusive användningen av jokertecken, beror på providern. Filter är effektivare än andra parametrar eftersom providern tillämpar dem när objekten hämtas, i stället för att PowerShell filtrerar objekten när de har hämtats.
Typ: | String |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | True |
-Include
Hämtar endast de angivna objekten. Värdet för den här parametern kvalificerar parametern Path . Ange ett sökvägselement eller mönster, till exempel *.txt
. Jokertecken tillåts.
Typ: | String[] |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | True |
-InputObject
Hämtar säkerhetsbeskrivningen för det angivna objektet. Ange en variabel som innehåller objektet eller ett kommando som hämtar objektet.
Du kan inte skicka ett annat objekt än en sökväg till Get-Acl
. Använd i stället parametern InputObject explicit i kommandot .
Den här parametern introduceras i Windows PowerShell 3.0.
Typ: | PSObject |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-LiteralPath
Anger sökvägen till en resurs. Till skillnad från Path används värdet för parametern LiteralPath precis som det skrivs. Inga tecken tolkas som jokertecken. Om sökvägen innehåller escape-tecken omger du den med enkla citattecken. Enkla citattecken gör att PowerShell inte tolkar några tecken som escape-sekvenser.
Den här parametern introduceras i Windows PowerShell 3.0.
Typ: | String[] |
Alias: | PSPath |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-Path
Anger sökvägen till en resurs. Get-Acl
hämtar säkerhetsbeskrivningen för resursen som anges av sökvägen. Jokertecken tillåts. Om du utelämnar parametern Get-Acl
Path hämtar du säkerhetsbeskrivningen för den aktuella katalogen.
Parameternamnet ("Sökväg") är valfritt.
Typ: | String[] |
Position: | 1 |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | True |
Indata
Du kan skicka en sträng som innehåller en sökväg till den här cmdleten.
Utdata
Den här cmdleten returnerar ett objekt som representerar de ACL:er som den får. Objekttypen beror på ACL-typen.
Kommentarer
Den här cmdleten är endast tillgänglig på Windows-plattformar.
Som standard Get-Acl
visas PowerShell-sökvägen till resursen (<provider>::<resource-path>
), resursens ägare och "Åtkomst", en lista (matris) över åtkomstkontrollposterna i DACL (Discretionary Access Control List) för resursen. DACL-listan styrs av resursägaren.
När du formaterar resultatet som en lista, (Get-Acl | Format-List
), förutom sökvägen, ägaren och åtkomstlistan, visar PowerShell följande egenskaper och egenskapsvärden:
- Grupp: Ägarens säkerhetsgrupp.
- Granskning: En lista (matris) med poster i systemåtkomstkontrollistan (SACL). SACL anger vilka typer av åtkomstförsök som Windows genererar granskningsposter för.
- Sddl: Säkerhetsbeskrivningen för resursen som visas i en enda textsträng i formatet Definitionsspråk för säkerhetsbeskrivning. PowerShell använder metoden GetSddlForm för säkerhetsbeskrivningar för att hämta dessa data.
Eftersom Get-Acl
stöds av filsystemet och registerprovidrar kan du använda Get-Acl
för att visa ACL för filsystemobjekt, till exempel filer och kataloger och registerobjekt, till exempel registernycklar och poster.