Поделиться через


Get-Acl

Получает дескриптор безопасности для ресурса, такого как файл или раздел реестра.

Синтаксис

Get-Acl [[-Path] <string[]>] [-Audit] [-Exclude <string[]>] [-Filter <string>] [-Include <string[]>] [-UseTransaction] [<CommonParameters>]

Описание

Командлет Get-Acl получает объекты, которые представляют дескриптор безопасности файла или ресурса. Дескриптор безопасности содержит списки управления доступом (ACL) ресурса. Список ACL содержит разрешения, необходимые пользователям и группам пользователей для доступа к ресурсу.

Параметры

-Audit

Получает данные аудита для дескриптора безопасности из системного списка управления доступом (SACL).

Обязательно?

false

Позиция?

named

Значение по умолчанию

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

false

-Exclude <string[]>

Исключает указанные элементы. Значение этого параметра определяет значение параметра Path. Введите элемент пути или шаблон, например "*.txt". Подстановочные знаки разрешены.

Обязательно?

false

Позиция?

named

Значение по умолчанию

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

false

-Filter <string>

Задает фильтр с использованием формата или языка поставщика. Значение этого параметра определяет значение параметра Path. Синтаксис фильтра, в том числе использование подстановочных знаков, зависит от поставщика. Фильтры эффективнее других параметров, потому что поставщик применяет их при извлечении объектов (вместо использования Windows PowerShell для фильтрации извлеченных объектов).

Обязательно?

false

Позиция?

named

Значение по умолчанию

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

false

-Include <string[]>

Извлекает только указанные элементы. Значение этого параметра определяет значение параметра Path. Введите элемент пути или шаблон, например "*.txt". Подстановочные знаки разрешены.

Обязательно?

false

Позиция?

named

Значение по умолчанию

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

false

-Path <string[]>

Задает путь к ресурсу. Командлет Get-Acl получает дескриптор безопасности ресурса, заданного значением пути. Подстановочные знаки разрешены. Если пропустить параметр Path, то командлет Get-Acl получает дескриптор безопасности текущего каталога.

Имя параметра ("Path") указывать необязательно.

Обязательно?

false

Позиция?

1

Значение по умолчанию

Принимать входные данные из конвейера?

true (ByValue, ByPropertyName)

Принимать подстановочные знаки?

false

-UseTransaction

Включает команду в активную транзакцию. Этот параметр допустим, только если транзакция выполняется. Дополнительные сведения см. в разделе about_Transactions.

Обязательно?

false

Позиция?

named

Значение по умолчанию

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

false

<CommonParameters>

Данный командлет поддерживает общие параметры -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer и -OutVariable. Дополнительные сведения см. в разделе about_Commonparameters.

Ввод и вывод

Входным типом является тип объектов, которые можно передавать командлету по конвейеру. Возвращаемым типом является тип объектов, возвращаемых командлетом.

Входные данные

System.String

Строку, содержащую путь, можно передать командлету Get-Acl по конвейеру.

Выходные данные

System.Security.AccessControl

Командлет Get-Acl возвращает объект, представляющий получаемое им ACL. Тип объекта зависит от типа ACL.

Примечания

По умолчанию командлет Get-Acl отображает путь Windows PowerShell к ресурсу (<поставщик>::<путь_к_ресурсу>), владельца ресурса и список (массив) записей управления доступом из дискреционного списка управления доступом (DACL) ресурса. Список DACL управляется владельцем ресурса.

При форматировании результата в виде списка, ("get-acl | Format-List"), помимо пути, владельца и списка доступа оболочка Windows PowerShell отображает следующие поля:

Group: группа безопасности владельца.

Audit: список (массив) записей в системном списке управления доступом (SACL). Список SACL указывает типы попыток доступа, для которых Windows формирует записи аудита.

Sddl: дескриптор безопасности ресурса, отображаемый в одной текстовой строке в формате языка определения дескрипторов безопасности (SDDL). Оболочка Windows PowerShell использует метод GetSddlForm дескрипторов безопасности, чтобы получить эти данные.

Get-Acl поддерживается поставщиками реестра и файловой системы, поэтому Get-Acl можно использовать для просмотра списка управления доступом объектов файловой системы, таких как файлы и каталоги, и объектов реестра, таких как параметры и разделы реестра.

Пример 1

C:\PS>get-acl C:\windows

Описание
-----------
Эта команда получает дескриптор безопасности каталога "C:Windows".





Пример 2

C:\PS>get-acl C:\Windows\k*.log | format-list -property PSPath, Sddl

Описание
-----------
Эта команда получает путь Windows PowerShell и значение SDDL для всех LOG-файлов в каталоге "C:\Windows", имена которых начинаются с "k". 

Команда использует Get-Acl, чтобы получить объекты, представляющие дескрипторы безопасности каждого файла журнала. Результаты передаются командлету Format-List с помощью оператора конвейера (|). Команда использует параметр Property командлета Format-List, чтобы вывести только свойства PsPath и SDDL каждого из объектов дескриптора безопасности.
В оболочке Windows PowerShell часто используются списки, так как длинные значения в таблицах усекаются.
Значения SDDL полезны для системных администраторов, так как это простые текстовые строки, содержащие все данные в дескрипторе безопасности. Их просто передавать и хранить, а при необходимости просто разобрать.





Пример 3

C:\PS>get-ACL c:/windows/k*.log -Audit | foreach-object { $_.Audit.Count }

Описание
-----------
Эта команда получает дескрипторы безопасности для всех LOG-файлов в каталоге "C:\ Windows", имена которых начинаются с "k". Для извлечения записей аудита из SACL в дескрипторе безопасности команда использует параметр Audit. Затем параметр For-EachObject используется для подсчета числа записей аудита, связанных с каждым файлом. Результат — список чисел, представляющих число записей аудита в каждом файле журнала.





Пример 4

C:\PS>get-acl -path hklm:\system\currentcontrolset\control | format-list

Описание
-----------
Эта команда использует Get-Acl, чтобы получить дескриптор безопасности подраздела реестра Control (HKLM\SYSTEM\CurrentControlSet\Control).
Параметр Path указывает подраздел Control. Оператор конвейера (|) передает дескриптор безопасности, извлеченный командлетом Get-Acl, в команду Format-List, которая форматирует свойства дескриптора безопасности в виде списка, чтобы облегчить чтение.





См. также

Концепции

Set-Acl