Get-Acl
Возвращает дескриптор безопасности ресурса, например файл или раздел реестра.
Синтаксис
ByPath (по умолчанию)
Get-Acl
[[-Path] <String[]>]
[-Audit]
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[<CommonParameters>]
ByInputObject
Get-Acl
-InputObject <PSObject>
[-Audit]
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[<CommonParameters>]
ByLiteralPath
Get-Acl
[-LiteralPath <String[]>]
[-Audit]
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[<CommonParameters>]
Описание
Этот командлет доступен только на платформе Windows.
Командлет Get-Acl получает объекты, представляющие дескриптор безопасности файла или ресурса. Дескриптор безопасности содержит списки управления доступом (ACL) ресурса. ACL указывает разрешения, которые должны иметь пользователи и группы пользователей для доступа к ресурсу.
Начиная с Windows PowerShell 3.0, можно использовать параметр InputObject для Get-Acl получения дескриптора безопасности объектов, у которых нет пути.
Примеры
Пример 1. Получение ACL для папки
В этом примере возвращается дескриптор C:\Windows безопасности каталога.
Get-Acl C:\Windows
Пример 2. Получение ACL для папки с помощью подстановочных знаков
В этом примере получается путь PowerShell и SDDL для всех .log файлов в каталоге C:\Windows , имена которых начинаются с s.
Get-Acl C:\Windows\s*.log | Format-List -Property PSPath, Sddl
Команда использует Get-Acl командлет для получения объектов, представляющих дескрипторы безопасности каждого файла журнала. Он использует оператор конвейера (|) для отправки результатов в командлет Format-List. Команда использует параметр Property для Format-List отображения только свойств PSPath и SDDL каждого объекта дескриптора безопасности.
Списки часто используются в PowerShell, так как длинные значения отображаются усеченными в таблицах.
Значения SDDL
Пример 3. Получение количества записей аудита для ACL
В этом примере возвращаются дескрипторы .log безопасности файлов в каталоге C:\Windows , имена которых начинаются с s.
Get-Acl C:\Windows\s*.log -Audit | ForEach-Object { $_.Audit.Count }
Он использует параметр audit для получения записей аудита из SACL в дескрипторе безопасности.
Затем он использует ForEach-Object командлет для подсчета количества записей аудита, связанных с каждым файлом. Результатом является список чисел, представляющих количество записей аудита для каждого файла журнала.
Пример 4. Получение ACL для раздела реестра
В этом примере командлет используется Get-Acl для получения дескриптора безопасности подраздела Control (HKLM:\SYSTEM\CurrentControlSet\Control) реестра.
Get-Acl -Path HKLM:\System\CurrentControlSet\Control | Format-List
Параметр пути |) передает дескриптор безопасности, Get-Acl который получает в Format-List команду, которая форматирует свойства дескриптора безопасности в виде списка, чтобы они были легко прочитаны.
Пример 5. Получение ACL с помощью **InputObject**
В этом примере используется параметр InputObject для Get-Acl получения дескриптора безопасности объекта подсистемы хранения.
Get-Acl -InputObject (Get-StorageSubSystem -Name S087)
Параметры
-Audit
Возвращает данные аудита для дескриптора безопасности из списка управления доступом системы (SACL).
Свойства параметра
| Тип: | SwitchParameter |
| Default value: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
(All)
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-Exclude
Исключает указанные элементы. Значение этого параметра квалифифициирует параметр Path. Введите элемент пути или шаблон, например *.txt. Подстановочные символы разрешены.
Свойства параметра
| Тип: | String[] |
| Default value: | None |
| Поддерживаются подстановочные знаки: | True |
| DontShow: | False |
Наборы параметров
(All)
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-Filter
Задает фильтр в формате или языке поставщика. Значение этого параметра квалифифициирует параметр Path. Синтаксис фильтра, включая использование подстановочных знаков, зависит от поставщика. Фильтры более эффективны, чем другие параметры, так как поставщик применяет их при получении объектов, а не фильтровать объекты после их получения.
Свойства параметра
| Тип: | String |
| Default value: | None |
| Поддерживаются подстановочные знаки: | True |
| DontShow: | False |
Наборы параметров
(All)
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-Include
Возвращает только указанные элементы. Значение этого параметра квалифифициирует параметр Path. Введите элемент пути или шаблон, например *.txt. Подстановочные символы разрешены.
Свойства параметра
| Тип: | String[] |
| Default value: | None |
| Поддерживаются подстановочные знаки: | True |
| DontShow: | False |
Наборы параметров
(All)
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-InputObject
Возвращает дескриптор безопасности для указанного объекта. Введите переменную, содержащую объект или команду, которая получает объект.
Невозможно передать объект, отличный от пути, в Get-Acl. Вместо этого используйте параметр InputObject явным образом в команде.
Этот параметр представлен в Windows PowerShell 3.0.
Свойства параметра
| Тип: | PSObject |
| Default value: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
ByInputObject
| Position: | Named |
| Обязательно: | True |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-LiteralPath
Указывает путь к ресурсу. В отличие от пути , значение параметра LiteralPath используется в точности так, как введено. Никакие символы не интерпретируются как подстановочные знаки. Если путь содержит escape-символы, заключите его в одинарные кавычки. Одинарные кавычки указывают PowerShell на то, что не следует интерпретировать какие-либо символы как управляющие последовательности.
Этот параметр представлен в Windows PowerShell 3.0.
Свойства параметра
| Тип: | String[] |
| Default value: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
| Aliases: | PSPath, LP |
Наборы параметров
ByLiteralPath
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | True |
| Значение из конвейера по имени свойства: | True |
| Значение из оставшихся аргументов: | False |
-Path
Указывает путь к ресурсу.
Get-Acl возвращает дескриптор безопасности ресурса, указанного путем. Подстановочные символы разрешены. Если параметр Path не указан, Get-Acl возвращает дескриптор безопасности текущего каталога.
Имя параметра ("Path") является необязательным.
Свойства параметра
| Тип: | String[] |
| Default value: | None |
| Поддерживаются подстановочные знаки: | True |
| DontShow: | False |
Наборы параметров
ByPath
| Position: | 1 |
| Обязательно: | False |
| Значение из конвейера: | True |
| Значение из конвейера по имени свойства: | True |
| Значение из оставшихся аргументов: | False |
CommonParameters
Этот командлет поддерживает общие параметры: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction и -WarningVariable. Дополнительные сведения см. в разделе about_CommonParameters.
Входные данные
String
Можно передать строку, содержащую путь к этому командлету.
Выходные данные
FileSecurity
DirectorySecurity
RegistrySecurity
Этот командлет возвращает объект, представляющий списки управления доступом, которые он получает. Тип объекта зависит от типа ACL.
Примечания
Этот командлет доступен только на платформах Windows.
По умолчанию Get-Acl отображается путь PowerShell к ресурсу (<provider>::<resource-path>), владелец ресурса и "Access", список (массив) записей управления доступом в списке управления доступом (DACL) для ресурса. Список DACL управляется владельцем ресурса.
При форматировании результата в виде списка (Get-Acl | Format-List) в дополнение к пути, владельцу и списку доступа PowerShell отображает следующие свойства и значения свойств:
- группу: группу безопасности владельца.
- аудит: список (массив) записей в списке управления доступом системы (SACL). SACL указывает типы попыток доступа, для которых Windows создает записи аудита.
- Sddl: дескриптор безопасности ресурса, отображаемый в одной текстовой строке в формате языка определения дескриптора безопасности. PowerShell использует метод GetSddlForm дескриптора безопасности для получения этих данных.
Так как Get-Acl поддерживается поставщиками файловой системы и реестра, вы можете Get-Acl просматривать ACL объектов файловой системы, таких как файлы и каталоги, а также объекты реестра, такие как разделы реестра и записи.