Get-Acl

Získá popisovač zabezpečení pro prostředek, například soubor nebo klíč registru.

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

Tato rutina je dostupná jenom na platformě Windows.

Rutina Get-Acl získá objekty, které představují popisovač zabezpečení souboru nebo prostředku. Popisovač zabezpečení obsahuje seznamy řízení přístupu (ACL) prostředku. Seznam ACL určuje oprávnění, která mají uživatelé a skupiny uživatelů pro přístup k prostředku.

Počínaje Windows PowerShell 3.0 můžete pomocí parametru Get-AclInputObject získat popisovač zabezpečení objektů, které nemají cestu.

Příklady

Příklad 1– Získání seznamu ACL pro složku

Tento příklad získá popisovač C:\Windows zabezpečení adresáře.

Get-Acl C:\Windows

Příklad 2 – Získání seznamu ACL pro složku pomocí zástupných znaků

Tento příklad získá cestu PowerShellu a SDDL pro všechny .log soubory v C:\Windows adresáři, jejichž názvy začínají s.

Get-Acl C:\Windows\s*.log | Format-List -Property PSPath, Sddl

Příkaz pomocí rutiny Get-Acl získá objekty představující popisovače zabezpečení každého souboru protokolu. K odeslání výsledků do rutiny Format-List používá operátor kanálu (|). Příkaz používá parametr Format-ListProperty k zobrazení pouze PsPath a SDDL vlastnosti každého objektu popisovače zabezpečení.

Seznamy se často používají v PowerShellu, protože dlouhé hodnoty se v tabulkách zobrazují zkráceně.

Hodnoty SDDL jsou cenné pro správce systému, protože jde o jednoduché textové řetězce, které obsahují všechny informace v popisovači zabezpečení. V takovém případě jsou snadno předávané a uložené a v případě potřeby je možné je analyzovat.

Příklad 3 – Získání počtu položek auditu pro seznam ACL

Tento příklad získá popisovače .log zabezpečení souborů v C:\Windows adresáři, jejichž názvy začínají s.

Get-Acl C:\Windows\s*.log -Audit | ForEach-Object { $_.Audit.Count }

Používá parametr Audit k získání záznamů auditu ze SACL v popisovači zabezpečení. Pak pomocí rutiny ForEach-Object spočítá počet záznamů auditu přidružených k jednotlivým souborům. Výsledkem je seznam čísel představujících počet záznamů auditu pro každý soubor protokolu.

Příklad 4 – Získání seznamu ACL pro klíč registru

Tento příklad používá rutinu Get-Acl k získání popisovače zabezpečení podklíče ovládacího prvku (HKLM:\SYSTEM\CurrentControlSet\Control) registru.

Get-Acl -Path HKLM:\System\CurrentControlSet\Control | Format-List

Parametr Path určuje podklíč Control. Operátor kanálu (|) předá popisovač zabezpečení, který Get-Acl se dostane k Format-List příkazu, který formátuje vlastnosti popisovače zabezpečení jako seznam, aby byly snadno čitelné.

Příklad 5 – Získání seznamu ACL pomocí **InputObject**

Tento příklad používá inputObject parametr Get-Acl k získání popisovače zabezpečení objektu subsystému úložiště.

Get-Acl -InputObject (Get-StorageSubSystem -Name S087)

Parametry

-Audit

Získá data auditu pro popisovač zabezpečení ze seznamu řízení přístupu systému (SACL).

Type:SwitchParameter
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-Exclude

Vynechá zadané položky. Hodnota tohoto parametru kvalifikuje parametr Path . Zadejte prvek cesty nebo vzor, například *.txt. Jsou povoleny zástupné dokumentace.

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

-Filter

Určuje filtr ve formátu nebo jazyce poskytovatele. Hodnota tohoto parametru kvalifikuje parametr Path . Syntaxe filtru, včetně použití zástupných znaků, závisí na poskytovateli. Filtry jsou efektivnější než jiné parametry, protože zprostředkovatel je použije při získávání objektů, místo aby powershellové filtry objekty po jejich načtení.

Type:String
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:True

-Include

Získá pouze zadané položky. Hodnota tohoto parametru kvalifikuje parametr Path . Zadejte prvek cesty nebo vzor, například *.txt. Jsou povoleny zástupné dokumentace.

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

-InputObject

Získá popisovač zabezpečení pro zadaný objekt. Zadejte proměnnou obsahující objekt nebo příkaz, který získá objekt.

Objekt nelze převést na jinou cestu než cestu .Get-Acl Místo toho použijte parametr InputObject explicitně v příkazu.

Tento parametr je zaveden v Windows PowerShell 3.0.

Type:PSObject
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-LiteralPath

Určuje cestu k prostředku. Na rozdíl od cesty se hodnota parametru LiteralPath používá přesně tak, jak je zadána. Žádné znaky nejsou interpretovány jako zástupné znaky. Pokud cesta obsahuje řídicí znaky, uzavřete ji do jednoduchých uvozovek. Jednoduché uvozovky říkají PowerShellu, aby neinterpretovat žádné znaky jako řídicí sekvence.

Tento parametr je zaveden v Windows PowerShell 3.0.

Type:String[]
Aliases:PSPath
Position:Named
Default value:None
Accept pipeline input:True
Accept wildcard characters:False

-Path

Určuje cestu k prostředku. Get-Acl získá popisovač zabezpečení prostředku označeného cestou. Jsou povoleny zástupné dokumentace. Pokud parametr Path vynecháte, Get-Acl získá popisovač zabezpečení aktuálního adresáře.

Název parametru ("Path") je volitelný.

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

Vstupy

String

Řetězec, který obsahuje cestu k Get-Acl.

Výstupy

System.Security.AccessControl.FileSecurity, System.Security.AccessControl.DirectorySecurity, System.Security.AccessControl.RegistrySecurity

Get-Acl vrátí objekt, který představuje seznamy ACL, které získá. Typ objektu závisí na typu seznamu ACL.

Poznámky

Tato rutina je dostupná jenom na platformách Windows.

Ve výchozím nastavení Get-Acl zobrazí cestu PowerShellu k prostředku (<provider>::<resource-path>), vlastníka prostředku a "Přístup", seznam (pole) položek řízení přístupu v volitelném seznamu řízení přístupu (DACL) prostředku. Seznam DACL řídí vlastník prostředku.

Když výsledek naformátujete jako seznam (Get-Acl | Format-List), kromě cesty, vlastníka a přístupového seznamu zobrazí PowerShell následující vlastnosti a hodnoty vlastností:

  • Skupina: Skupina zabezpečení vlastníka.
  • Audit: Seznam (pole) položek v seznamu řízení přístupu systému (SACL). SACL určuje typy pokusů o přístup, pro které Systém Windows generuje záznamy auditu.
  • Sddl: Popisovač zabezpečení prostředku zobrazený v jednom textovém řetězci ve formátu Jazyk definice popisovače zabezpečení. PowerShell k získání těchto dat používá metodu GetSddlForm popisovačů zabezpečení.

Protože Get-Acl je podporován systémem souborů a poskytovateli registru, můžete použít Get-Acl k zobrazení seznamu ACL objektů systému souborů, jako jsou soubory a adresáře, a objekty registru, jako jsou klíče registru a položky.