Udostępnij za pośrednictwem


Get-Acl

Pobiera deskryptor zabezpieczeń dla zasobu, takiego jak plik lub klucz rejestru.

Składnia

Get-Acl
   [[-Path] <String[]>]
   [-Audit]
   [-AllCentralAccessPolicies]
   [-Filter <String>]
   [-Include <String[]>]
   [-Exclude <String[]>]
   [-UseTransaction]
   [<CommonParameters>]
Get-Acl
   -InputObject <PSObject>
   [-Audit]
   [-AllCentralAccessPolicies]
   [-Filter <String>]
   [-Include <String[]>]
   [-Exclude <String[]>]
   [-UseTransaction]
   [<CommonParameters>]
Get-Acl
   [-LiteralPath <String[]>]
   [-Audit]
   [-AllCentralAccessPolicies]
   [-Filter <String>]
   [-Include <String[]>]
   [-Exclude <String[]>]
   [-UseTransaction]
   [<CommonParameters>]

Opis

Polecenie cmdlet Get-Acl pobiera obiekty reprezentujące deskryptor zabezpieczeń pliku lub zasobu. Deskryptor zabezpieczeń zawiera listy kontroli dostępu (ACL) zasobu. Lista ACL określa uprawnienia, które użytkownicy i grupy użytkowników muszą uzyskiwać dostęp do zasobu.

Począwszy od programu Windows PowerShell 3.0, można użyć InputObject parametru Get-Acl, aby uzyskać deskryptor zabezpieczeń obiektów, które nie mają ścieżki.

Przykłady

Przykład 1

Get-Acl C:\Windows

To polecenie pobiera deskryptor zabezpieczeń katalogu C:Windows.

Przykład 2

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

To polecenie pobiera ścieżkę środowiska Windows PowerShell i język SDDL dla wszystkich plików .log w katalogu C:\Windows, którego nazwy zaczynają się od "k".

Polecenie używa polecenia cmdlet Get-Acl w celu pobrania obiektów reprezentujących deskryptory zabezpieczeń każdego pliku dziennika. Używa operatora potoku (|) do wysyłania wyników do polecenia cmdlet Format-List. Polecenie używa parametru property Format-List do wyświetlania tylko właściwości PsPath i SDDL właściwości każdego obiektu deskryptora zabezpieczeń.

Listy są często używane w programie Windows PowerShell, ponieważ długie wartości są obcinane w tabelach.

Wartości SDDL są cenne dla administratorów systemu, ponieważ są to proste ciągi tekstowe zawierające wszystkie informacje w deskryptorze zabezpieczeń. W związku z tym są łatwe do przekazania i przechowywania i mogą być analizowane w razie potrzeby.

Przykład 3

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

To polecenie pobiera deskryptory zabezpieczeń plików .log w katalogu C:\Windows, którego nazwy zaczynają się od "k". Używa parametru Audit w celu pobrania rekordów inspekcji z SACL w deskryptorze zabezpieczeń. Następnie używa polecenia cmdletForEach-Object do zliczenia liczby rekordów inspekcji skojarzonych z każdym plikiem. Wynikiem jest lista liczb reprezentujących liczbę rekordów inspekcji dla każdego pliku dziennika.

Przykład 4

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

To polecenie używa polecenia cmdlet Get-Acl, aby uzyskać deskryptor zabezpieczeń podklucza sterowania (HKLM\SYSTEM\CurrentControlSet\Control) rejestru.

Parametr ścieżka określa podklucz kontrolki. Operator potoku (|) przekazuje deskryptor zabezpieczeń, który Get-Acl przechodzi do polecenia Format-List, które formatuje właściwości deskryptora zabezpieczeń jako listę, aby były łatwe do odczytania.

Przykład 5

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

To polecenie używa InputObject parametru Get-Acl, aby uzyskać deskryptor zabezpieczeń obiektu podsystemu magazynu.

Parametry

-AllCentralAccessPolicies

Pobiera informacje o wszystkich centralnych zasadach dostępu, które są włączone na komputerze.

Począwszy od systemu Windows Server 2012, administratorzy mogą używać usługi Active Directory i zasad grupy do ustawiania centralnych zasad dostępu dla użytkowników i grup. Aby uzyskać więcej informacji, zobacz dynamicznej kontroli dostępu: Omówienie scenariusza.

Ten parametr jest wprowadzany w programie Windows PowerShell 3.0.

Typ:SwitchParameter
Position:Named
Domyślna wartość:False
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Audit

Pobiera dane inspekcji deskryptora zabezpieczeń z listy kontroli dostępu systemu (SACL).

Typ:SwitchParameter
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Exclude

Pomija określone elementy. Wartość tego parametru kwalifikuje parametr Path. Wprowadź element ścieżki lub wzorzec, taki jak "*.txt". Dozwolone są symbole wieloznaczne.

Typ:String[]
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:True

-Filter

Określa filtr w formacie lub języku dostawcy. Wartość tego parametru kwalifikuje parametr Path. Składnia filtru, w tym użycie symboli wieloznacznych, zależy od dostawcy. Filtry są bardziej wydajne niż inne parametry, ponieważ dostawca stosuje je podczas pobierania obiektów, zamiast filtrować obiekty programu Windows PowerShell po ich pobraniu.

Typ:String
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:True

-Include

Pobiera tylko określone elementy. Wartość tego parametru kwalifikuje parametr Path. Wprowadź element ścieżki lub wzorzec, taki jak "*.txt". Dozwolone są symbole wieloznaczne.

Typ:String[]
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:True

-InputObject

Pobiera deskryptor zabezpieczeń dla określonego obiektu. Wprowadź zmienną zawierającą obiekt lub polecenie, które pobiera obiekt.

Nie można potokować obiektu innego niż ścieżka do get-Acl. Zamiast tego użyj parametru InputObject jawnie w poleceniu .

Ten parametr jest wprowadzany w programie Windows PowerShell 3.0.

Typ:PSObject
Position:Named
Domyślna wartość:None
Wymagane:True
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-LiteralPath

Określa ścieżkę do zasobu. W przeciwieństwie do Pathwartość parametru LiteralPath jest używana dokładnie tak, jak jest typowana. Znaki nie są interpretowane jako symbole wieloznaczne. Jeśli ścieżka zawiera znaki ucieczki, należy ująć ją w pojedynczy cudzysłów. Pojedyncze cudzysłowy informują program Windows PowerShell, aby nie interpretował żadnych znaków jako sekwencji ucieczki.

Ten parametr jest wprowadzany w programie Windows PowerShell 3.0.

Typ:String[]
Aliasy:PSPath
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-Path

Określa ścieżkę do zasobu. get-Acl pobiera deskryptor zabezpieczeń zasobu wskazanego przez ścieżkę. Dozwolone są symbole wieloznaczne. Jeśli pominięto parametr Path, Get-Acl pobiera deskryptor zabezpieczeń bieżącego katalogu.

Nazwa parametru ("Ścieżka") jest opcjonalna.

Typ:String[]
Position:1
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:True

-UseTransaction

Zawiera polecenie w aktywnej transakcji. Ten parametr jest prawidłowy tylko wtedy, gdy transakcja jest w toku. Aby uzyskać więcej informacji, zobacz about_Transactions.

Typ:SwitchParameter
Aliasy:usetx
Position:Named
Domyślna wartość:False
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

Dane wejściowe

String

Możesz potokować ciąg zawierający ścieżkę do listy Get-Acl.

Dane wyjściowe

System.Security.AccessControl

Get-Acl zwraca obiekt reprezentujący pobierane listy ACL. Typ obiektu zależy od typu listy ACL.

Uwagi

Domyślnie get-Acl wyświetla ścieżkę środowiska Windows PowerShell do zasobu (dostawca<>::<ścieżka-zasobu>), właściciel zasobu i "Dostęp" listy (tablicy) wpisów kontroli dostępu na liście kontroli dostępu (DACL) dla zasobu. Lista daCL jest kontrolowana przez właściciela zasobu.

Podczas formatowania wyniku jako listy ("Get-Acl | Format-List"), oprócz ścieżki, właściciela i listy dostępu program Windows PowerShell wyświetla następujące właściwości i wartości właściwości:

  • grupy: grupa zabezpieczeń właściciela.
  • Inspekcja: lista (tablica) wpisów na liście kontroli dostępu systemu (SACL). SACL określa typy prób dostępu, dla których system Windows generuje rekordy inspekcji.
  • sddl: deskryptor zabezpieczeń zasobu wyświetlany w jednym ciągu tekstowym w formacie języka definicji deskryptora zabezpieczeń. Program Windows PowerShell używa metody GetSddlForm deskryptorów zabezpieczeń w celu pobrania tych danych.

Ponieważ get-Acl jest obsługiwana przez dostawców systemu plików i rejestru, można użyć Get-Acl, aby wyświetlić listę ACL obiektów systemu plików, takich jak pliki i katalogi, i obiekty rejestru, takie jak klucze rejestru i wpisy.