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 |
Входные данные
В командлет Get-Acl можно передать по конвейеру строку, содержащую путь.
Выходные данные
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 объектов файловой системы, таких как файлы и каталоги, и объектов реестра, таких как разделы реестра и записи.