Get-Acl
Hämtar säkerhetsbeskrivningen för en resurs, till exempel en fil eller registernyckel.
Syntax
ByPath (Standard)
Get-Acl
[[-Path] <String[]>]
[-Audit]
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[<CommonParameters>]
ByInputObject
Get-Acl
-InputObject <PSObject>
[-Audit]
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[<CommonParameters>]
ByLiteralPath
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 InputObject för Get-Acl 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 säkerhetsbeskrivningen för katalogen C:\Windows.
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 parametern Property för Format-List 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ärden ä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 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 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 hämtar till kommandot Format-List, 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 InputObject för Get-Acl 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).
Parameteregenskaper
| Typ: | SwitchParameter |
| Standardvärde: | None |
| Stöder jokertecken: | False |
| DontShow: | False |
Parameteruppsättningar
(All)
| Position: | Named |
| Obligatorisk: | False |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | 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.
Parameteregenskaper
| Typ: | String[] |
| Standardvärde: | None |
| Stöder jokertecken: | True |
| DontShow: | False |
Parameteruppsättningar
(All)
| Position: | Named |
| Obligatorisk: | False |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
-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.
Parameteregenskaper
| Typ: | String |
| Standardvärde: | None |
| Stöder jokertecken: | True |
| DontShow: | False |
Parameteruppsättningar
(All)
| Position: | Named |
| Obligatorisk: | False |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
-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.
Parameteregenskaper
| Typ: | String[] |
| Standardvärde: | None |
| Stöder jokertecken: | True |
| DontShow: | False |
Parameteruppsättningar
(All)
| Position: | Named |
| Obligatorisk: | False |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
-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.
Parameteregenskaper
| Typ: | PSObject |
| Standardvärde: | None |
| Stöder jokertecken: | False |
| DontShow: | False |
Parameteruppsättningar
ByInputObject
| Position: | Named |
| Obligatorisk: | True |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
-LiteralPath
Anger sökvägen till en resurs. Till skillnad från Pathanvänds värdet för parametern LiteralPath precis som det skrivs. Inga tecken tolkas som wildcards. 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.
Parameteregenskaper
| Typ: | String[] |
| Standardvärde: | None |
| Stöder jokertecken: | False |
| DontShow: | False |
| Alias: | PSPath, SP |
Parameteruppsättningar
ByLiteralPath
| Position: | Named |
| Obligatorisk: | False |
| Värde från pipeline: | True |
| Värde från pipeline efter egenskapsnamn: | True |
| Värde från återstående argument: | 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 Path hämtar Get-Acl säkerhetsbeskrivningen för den aktuella katalogen.
Parameternamnet ("Sökväg") är valfritt.
Parameteregenskaper
| Typ: | String[] |
| Standardvärde: | None |
| Stöder jokertecken: | True |
| DontShow: | False |
Parameteruppsättningar
ByPath
| Position: | 1 |
| Obligatorisk: | False |
| Värde från pipeline: | True |
| Värde från pipeline efter egenskapsnamn: | True |
| Värde från återstående argument: | False |
CommonParameters
Den här cmdleten stöder vanliga parametrar: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction och -WarningVariable. Mer information finns i about_CommonParameters.
Indata
String
Du kan skicka en sträng som innehåller en sökväg till den här cmdleten.
Utdata
FileSecurity
DirectorySecurity
RegistrySecurity
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 visar Get-Acl PowerShell-sökvägen till resursen (<provider>::<resource-path>), resursens ägare och "Access", en lista (matris) med å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:
- Group: Ägarens säkerhetsgrupp.
- Granska: En lista (matris) med poster i listan över systemåtkomstkontroll (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 GetSddlForm metod för säkerhetsbeskrivningar för att hämta dessa data.
Eftersom Get-Acl stöds av filesystem- 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.