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).

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:PSObject
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters: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.

Type:String[]
Aliases:PSPath
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters: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.

Type:String[]
Position:1
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:True

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 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.