Dela via


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

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

-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 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
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 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 talar om för PowerShell att inga tecken ska tolkas 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-AclPath hämtar 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 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.