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 Get-Acl
cmdlet 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ć parametru InputObject polecenia Get-Acl
, aby uzyskać deskryptor zabezpieczeń obiektów, które nie mają ścieżki.
Przykłady
Przykład 1 — pobieranie listy ACL dla folderu
Ten przykład pobiera deskryptor zabezpieczeń C:\Windows
katalogu.
Get-Acl C:\Windows
Przykład 2 — pobieranie listy ACL dla folderu przy użyciu symboli wieloznacznych
W tym przykładzie jest pobierana ścieżka programu PowerShell i plik SDDL dla wszystkich .log
plików w C:\Windows
katalogu, których nazwy zaczynają się od s
.
Get-Acl C:\Windows\s*.log | Format-List -Property PSPath, Sddl
Polecenie używa Get-Acl
polecenia cmdlet do pobierania obiektów reprezentujących deskryptory zabezpieczeń każdego pliku dziennika. Używa operatora potoku (|
), aby wysłać wyniki do Format-List
polecenia cmdlet. Polecenie używa parametru Property parametru Format-List
, aby wyświetlić tylko właściwości PsPath i SDDL każdego obiektu deskryptora zabezpieczeń.
Listy są często używane w programie PowerShell, ponieważ długie wartości są obcinane w tabelach.
Wartości SDDL są cenne dla administratorów systemu, ponieważ są prostymi ciągami tekstowymi, które zawierają 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 — pobieranie liczby wpisów inspekcji dla listy ACL
W tym przykładzie są pobierane deskryptory .log
zabezpieczeń plików w C:\Windows
katalogu, których nazwy zaczynają się od s
.
Get-Acl C:\Windows\s*.log -Audit | ForEach-Object { $_.Audit.Count }
Używa parametru Audit do pobrania rekordów inspekcji z SACL w deskryptorze zabezpieczeń.
Następnie używa ForEach-Object
polecenia cmdlet 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 — uzyskiwanie listy ACL dla klucza rejestru
W tym przykładzie użyto Get-Acl
polecenia cmdlet , aby uzyskać deskryptor zabezpieczeń podklucza kontroli (HKLM:\SYSTEM\CurrentControlSet\Control
) rejestru.
Get-Acl -Path HKLM:\System\CurrentControlSet\Control | Format-List
Parametr Path określa podklucz kontrolki. Operator potoku (|
) przekazuje deskryptor zabezpieczeń, który Get-Acl
przechodzi do Format-List
polecenia, co formatuje właściwości deskryptora zabezpieczeń jako listę, aby były łatwe do odczytania.
Przykład 5 — pobieranie listy ACL przy użyciu elementu **InputObject**
W tym przykładzie użyto parametru InputObject , Get-Acl
aby uzyskać deskryptor zabezpieczeń obiektu podsystemu magazynu.
Get-Acl -InputObject (Get-StorageSubSystem -Name S087)
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 Dynamic Access Control: Scenario Overview (Dynamiczna kontrola 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 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 ścieżki, wartość 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 znaki cudzysłowu informują program 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
Możesz potokować ciąg zawierający ścieżkę do tego polecenia cmdlet.
Dane wyjściowe
To polecenie cmdlet zwraca obiekt reprezentujący pobierane listy ACL. Typ obiektu zależy od typu listy ACL.
Uwagi
Domyślnie Get-Acl
wyświetla ścieżkę programu PowerShell do zasobu (<provider>::<resource-path>
), właściciela zasobu i "Dostęp", listę (tablicę) wpisów kontroli dostępu na liście uznaniowej 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 PowerShell wyświetla następujące właściwości i wartości właściwości:
- Grupa: 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 PowerShell używa metody GetSddlForm deskryptorów zabezpieczeń w celu pobrania tych danych.
Ponieważ Get-Acl
jest obsługiwany przez system plików i dostawców rejestru, można użyć Get-Acl
do wyświetlania listy ACL obiektów systemu plików, takich jak pliki i katalogi, oraz obiekty rejestru, takie jak klucze rejestru i wpisy.