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, которая форматирует свойства дескриптора безопасности в виде списка, чтобы облегчить чтение.