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-AclInputObject för 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
I det här exemplet hämtas 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 C:\Windows katalogen 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 PsPath - och SDDL-egenskaperna 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 – Hämta antalet 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 Audit för att hämta granskningsposterna från SACL:en 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 kontrollundernyckeln (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-AclInputObject för för att hämta säkerhetsbeskrivningen för ett lagringsundersystemobjekt.
Get-Acl -InputObject (Get-StorageSubSystem -Name S087)
Parametrar
Hämtar granskningsdata för säkerhetsbeskrivningen från systemåtkomstkontrollistan (SACL).
| Type: | SwitchParameter |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
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.
| Type: | String[] |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | True |
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 mer effektiva än andra parametrar, eftersom providern tillämpar dem när de hämtas, i stället för att PowerShell filtrerar objekten när de har hämtats.
| Type: | String |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | True |
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.
| Type: | String[] |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | True |
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.
| Type: | PSObject |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Anger sökvägen till en resurs. Till skillnad från Path används värdet för parametern LiteralPath exakt som det skrivs. Inga tecken tolkas som jokertecken. Om sökvägen innehåller escape-tecken omger du den med enkla citattecken. Enkla citattecken instruerar PowerShell att inte tolka några tecken som escape-sekvenser.
Den här parametern introduceras i Windows PowerShell 3.0.
| Type: | String[] |
| Aliases: | PSPath |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | True |
| Accept wildcard characters: | False |
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-AclPath hämtar säkerhetsbeskrivningen för den aktuella katalogen.
Parameternamnet ("Sökväg") är valfritt.
| Type: | String[] |
| Position: | 1 |
| Default value: | None |
| Accept pipeline input: | True |
| Accept wildcard characters: | True |
Indata
Du kan skicka en sträng som innehåller en sökväg till Get-Acl.
Utdata
System.Security.AccessControl.FileSecurity, System.Security.AccessControl.DirectorySecurity, System.Security.AccessControl.RegistrySecurity
Get-Acl returnerar ett objekt som representerar ACL:er som det 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-listan (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.
Relaterade länkar
Feedback
Skicka och visa feedback för