ConvertFrom-SddlString
Преобразует строку SDDL в пользовательский объект.
Синтаксис
Default (По умолчанию)
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 |
| Default value: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
(All)
| Position: | 0 |
| Обязательно: | True |
| Значение из конвейера: | True |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-Type
Указывает тип прав, которые представляет строка SDDL.
Допустимые значения для этого параметра:
- Права доступа к файловой системе
- Права реестра
- Права ActiveDirectory
- МьютексРайтс
- СемафорыПрава
- Права на криптоключ
- EventWaitHandleRights (Права на EventWaitHandle)
По умолчанию командлет использует права файловой системы.
CryptoKeyRights и ActiveDirectoryRights не поддерживаются в PowerShell версии 6 и выше.
Свойства параметров
| Тип: | Object |
| Default value: | None |
| Допустимые значения: | FileSystemRights, RegistryRights, ActiveDirectoryRights, MutexRights, SemaphoreRights, CryptoKeyRights, EventWaitHandleRights |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
(All)
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
CommonParameters
Этот командлет поддерживает общие параметры: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction и -WarningVariable. Дополнительные сведения см. в разделе about_CommonParameters.
Входные данные
String
Вы можете передать строку SDDL в этот командлет.