Поиск по сайту:

Get-Acl (Microsoft.PowerShell.Security)


Get-Acl

Модуль:
Microsoft.PowerShell.Security

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

Синтаксис

Get-Acl
   [[-Path] <String[]>]
   [-Audit]
   [-Filter <String>]
   [-Include <String[]>]
   [-Exclude <String[]>]
   [<CommonParameters>]
Get-Acl
   -InputObject <PSObject>
   [-Audit]
   [-Filter <String>]
   [-Include <String[]>]
   [-Exclude <String[]>]
   [<CommonParameters>]
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. Получите список управления доступом для папки.

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

Get-Acl C:\Windows

Пример 2. Получение списка управления доступом для папки с использованием подстановочных знаков.

В этом примере получается путь 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

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

Пример 5. Получите ACL, используя **InputObject**

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

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

Параметры

-Audit

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

Тип :

SwitchParameter

Позиция:

Именованный

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

None

Необходимый:

False

Примите ввод конвейера:

False

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

False

-Exclude

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

Тип :

String[]

Позиция:

Именованный

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

None

Необходимый:

False

Примите ввод конвейера:

False

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

True

-Filter

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

Тип :

String

Позиция:

Именованный

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

None

Необходимый:

False

Примите ввод конвейера:

False

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

True

-Include

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

Тип :

String[]

Позиция:

Именованный

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

None

Необходимый:

False

Примите ввод конвейера:

False

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

True

-InputObject

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

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

Этот параметр представлен в Windows PowerShell 3.0.

Тип :

PSОбъект

Позиция:

Именованный

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

None

Необходимый:

True

Примите ввод конвейера:

False

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

False

-LiteralPath

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

Этот параметр представлен в Windows PowerShell 3.0.

Тип :

String[]

Псевдонимы:

PSPath

Позиция:

Именованный

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

None

Необходимый:

False

Примите ввод конвейера:

True

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

False

-Path

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

Имя параметра («Путь») не является обязательным.

Тип :

String[]

Позиция:

1

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

None

Необходимый:

False

Примите ввод конвейера:

True

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

True

Входы

Строка

Вы можете передать строку, содержащую путь к этому командлету.

Выходы

FileSecurity

Безопасность каталога

Безопасность реестра

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

Примечания

Этот командлет доступен только на платформах Windows.

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

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

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

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