ConvertFrom-SddlString
Преобразует строку SDDL в пользовательский объект.
Синтаксис
ConvertFrom-SddlString
[-Sddl] <String>
[-Type <Object>]
[<CommonParameters>]
Описание
Командлет ConvertFrom-SddlString
преобразует строку языка определения дескриптора безопасности в пользовательский объект PSCustomObject со следующими свойствами: Owner, Group, CustomaryAcl, SystemAcl и RawDescriptor.
Владелец, группа, дискреционные свойстваAcl и SystemAcl содержат доступное для чтения текстовое представление прав доступа, указанных в строке SDDL.
Этот командлет появился в PowerShell 5.0.
Примеры
Пример 1. Преобразование SDDL прав доступа к файловой системе в PSCustomObject
$acl = Get-Acl -Path C:\Windows
ConvertFrom-SddlString -Sddl $acl.Sddl
Первая команда использует Get-Acl
командлет для получения дескриптора безопасности для папки C:\Windows и сохраняет его в переменной.
Вторая команда использует ConvertFrom-SddlString
командлет для получения текстового представления строки SDDL, содержащейся в свойстве Sddl объекта, представляющего дескриптор безопасности.
Пример 2. Преобразование SDDL прав доступа реестра в PSCustomObject
$acl = Get-Acl HKLM:\SOFTWARE\Microsoft\
ConvertFrom-SddlString -Sddl $acl.Sddl -Type RegistryRights
Первая команда использует Get-Acl
командлет для получения дескриптора безопасности для ключа HKLM:\SOFTWARE\Microsoft\ и сохраняет его в переменной.
Вторая команда использует ConvertFrom-SddlString
командлет для получения текстового представления строки SDDL, содержащейся в свойстве Sddl объекта, представляющего дескриптор безопасности.
Он использует -Type
параметр, чтобы указать, что строка SDDL представляет дескриптор безопасности реестра.
Пример 3. Преобразование SDDL прав доступа реестра в PSCustomObject с помощью ConvertFrom-SddlString с параметром -Type
$acl = Get-Acl -Path HKLM:\SOFTWARE\Microsoft\
ConvertFrom-SddlString -Sddl $acl.Sddl | Foreach-Object {$_.DiscretionaryAcl[0]}
BUILTIN\Administrators: AccessAllowed (ChangePermissions, CreateDirectories, Delete, ExecuteKey, FullControl, GenericExecute, GenericWrite, ListDirectory, ReadExtendedAttributes, ReadPermissions, TakeOwnership, Traverse, WriteData, WriteExtendedAttributes, WriteKey)
ConvertFrom-SddlString -Sddl $acl.Sddl -Type RegistryRights | Foreach-Object {$_.DiscretionaryAcl[0]}
BUILTIN\Administrators: AccessAllowed (ChangePermissions, CreateLink, CreateSubKey, Delete, EnumerateSubKeys, ExecuteKey, FullControl, GenericExecute, GenericWrite, Notify, QueryValues, ReadPermissions, SetValue, TakeOwnership, WriteKey)
Первая команда использует Get-Acl
командлет для получения дескриптора безопасности для ключа HKLM:\SOFTWARE\Microsoft\ и сохраняет его в переменной.
Вторая команда использует ConvertFrom-SddlString
командлет для получения текстового представления строки SDDL, содержащейся в свойстве Sddl объекта, представляющего дескриптор безопасности.
Этот параметр не используется -Type
, поэтому для файловой системы отображаются права доступа.
Третья команда использует командлет с параметром ConvertFrom-SddlString
-Type
, поэтому возвращенные права доступа предназначены для реестра.
Пример 4. Преобразование SDDL прав доступа Active Directory в PSCustomObject
$user = [ADSI]"LDAP://CN=username,CN=Users,DC=domain,DC=com"
ConvertFrom-SddlString $user.psbase.ObjectSecurity.Sddl -Type ActiveDirectoryRights
Первая команда использует интерфейсы службы Active Directory (ADSI), чтобы получить объект пользователя и сохранить его в переменной.
Вторая команда использует ConvertFrom-SddlString
командлет для получения текстового представления строки SDDL, содержащейся в свойстве Sddl объекта, представляющего дескриптор безопасности.
Он использует -Type
параметр, чтобы указать, что строка SDDL представляет дескриптор безопасности Active Directory.
Параметры
-Sddl
Указывает строку, представляющую дескриптор безопасности в синтаксисе SDDL.
Тип: | String |
Position: | 0 |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-Type
Указывает тип прав, которые представляет строка SDDL.
Допустимые значения для этого параметра:
- FileSystemRights
- RegistryRights
- ActiveDirectoryRights
- МьютексРайтс
- SemaphoreRights
- CryptoKeyRights
- EventWaitHandleRights
По умолчанию командлет использует права файловой системы.
CryptoKeyRights и ActiveDirectoryRights не поддерживаются в PowerShell версии 6 и выше.
Тип: | Object |
Допустимые значения: | FileSystemRights, RegistryRights, ActiveDirectoryRights, MutexRights, SemaphoreRights, CryptoKeyRights, EventWaitHandleRights |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
Входные данные
Вы можете передать строку SDDL в этот командлет.
Связанные ссылки
PowerShell