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


Get-Acl

Возвращает дескриптор безопасности для ресурса, например файла или раздела реестра.

Синтаксис

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>]

Описание

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

Начиная с выпуска Windows PowerShell 3.0 вы можете использовать параметр InputObject командлета Get-Acl для получения дескриптора безопасности объектов, у которых нет пути.

Примеры

Пример 1

Get-Acl C:\Windows

Эта команда возвращает дескриптор безопасности каталога C:Windows.

Пример 2

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

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

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

Пример 4

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

В этой команде используется командлет Get-Acl для получения дескриптора безопасности подраздела реестра Control (HKLM\SYSTEM\CurrentControlSet\Control).

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

Пример 5

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

В этой команде используется параметр InputObject командлета Get-Acl для получения дескриптора безопасности объекта подсистемы хранения.

Параметры

-AllCentralAccessPolicies

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

Начиная с Windows Server 2012, администраторы могут использовать Active Directory и групповая политика для настройки централизованных политик доступа для пользователей и групп. Дополнительные сведения см. в разделе Dynamic контроль доступа: Scenario Overview.

Этот параметр впервые появился в Windows PowerShell 3.0.

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

-Audit

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

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

-Exclude

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

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

-Filter

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

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

-Include

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

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

-InputObject

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

В командлет Get-Acl можно передать по конвейеру только путь. Вместо этого настроить параметр InputObject прямо в команде.

Этот параметр впервые появился в Windows PowerShell 3.0.

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

-LiteralPath

Задает путь к ресурсу. В отличие от параметра Path, значение параметра LiteralPath используется в точности так, как вводится. Никакие символы не интерпретируются как знаки подстановки. Если путь содержит escape-символы, заключите его в одинарные кавычки. Это позволит Windows PowerShell не интерпретировать какие-либо символы как символы Escape-последовательности.

Этот параметр впервые появился в Windows PowerShell 3.0.

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

-Path

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

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

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

-UseTransaction

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

Type:SwitchParameter
Aliases:usetx
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

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

String

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

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

System.Security.AccessControl

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

Примечания

По умолчанию get-Acl отображает Windows PowerShell путь к ресурсу (<provider>::<resource-path>), владелец ресурса и "Access", список (массив) записей управления доступом в списке управления доступом (DACL) для ресурса. Список DACL контролируется владельцем ресурса.

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

  • Группа: группа безопасности владельца.
  • Аудит: список (массив) записей в системном списке управления доступом (SACL). В списке SACL указываются типы попыток доступа, для которых ОС Windows создает записи аудита.
  • Sddl: дескриптор безопасности ресурса, отображаемый в одной текстовой строке в формате языка определения дескриптора безопасности. Для получения этих данных среда Windows PowerShell использует метод GetSddlForm дескрипторов безопасности.

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