Compartilhar via


ConvertFrom-SddlString

Converte uma cadeia de caracteres SDDL em um objeto personalizado.

Sintaxe

ConvertFrom-SddlString
                [-Sddl] <String>
                [-Type <Object>]
                [<CommonParameters>]

Description

O ConvertFrom-SddlString cmdlet converte uma cadeia de caracteres de Linguagem de Definição do Descritor de Segurança em um objeto PSCustomObject personalizado com as seguintes propriedades: Owner, Group, DiscretionaryAcl, SystemAcl e RawDescriptor.

As propriedades Owner, Group, DiscretionaryAcl e SystemAcl contêm uma representação de texto legível dos direitos de acesso especificados em uma cadeia de caracteres SDDL.

Esse cmdlet foi introduzido no PowerShell 5.0.

Exemplos

Exemplo 1: converter SDDL de direitos de acesso ao sistema de arquivos em um PSCustomObject

$acl = Get-Acl -Path C:\Windows
ConvertFrom-SddlString -Sddl $acl.Sddl

O primeiro comando usa o Get-Acl cmdlet para obter o descritor de segurança para a pasta C:\Windows e o salva na variável.

O segundo comando usa o ConvertFrom-SddlString cmdlet para obter a representação de texto da cadeia de caracteres SDDL, contida na propriedade Sddl do objeto que representa o descritor de segurança.

Exemplo 2: Converter SDDL de direitos de acesso ao Registro em um PSCustomObject

$acl = Get-Acl HKLM:\SOFTWARE\Microsoft\
ConvertFrom-SddlString -Sddl $acl.Sddl -Type RegistryRights

O primeiro comando usa o Get-Acl cmdlet para obter o descritor de segurança para a chave HKLM:\SOFTWARE\Microsoft\ e o salva na variável.

O segundo comando usa o ConvertFrom-SddlString cmdlet para obter a representação de texto da cadeia de caracteres SDDL, contida na propriedade Sddl do objeto que representa o descritor de segurança.

Ele usa o parâmetro para especificar que a -Type cadeia de caracteres SDDL representa um descritor de segurança do Registro.

Exemplo 3: Converter SDDL de direitos de acesso ao Registro em um PSCustomObject usando ConvertFrom-SddlString com e sem o parâmetro '-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)

O primeiro comando usa o Get-Acl cmdlet para obter o descritor de segurança para a chave HKLM:\SOFTWARE\Microsoft\ e o salva na variável.

O segundo comando usa o ConvertFrom-SddlString cmdlet para obter a representação de texto da cadeia de caracteres SDDL, contida na propriedade Sddl do objeto que representa o descritor de segurança.

Ele não usa o -Type parâmetro, portanto, os direitos de acesso mostrados são para o sistema de arquivos.

O terceiro comando usa o ConvertFrom-SddlString cmdlet com o parâmetro, portanto, os direitos de acesso retornados são para o -Type registro.

Exemplo 4: Converter SDDL de direitos de acesso do Active Directory em um PSCustomObject

$user = [ADSI]"LDAP://CN=username,CN=Users,DC=domain,DC=com"
ConvertFrom-SddlString $user.psbase.ObjectSecurity.Sddl -Type ActiveDirectoryRights

O primeiro comando usa ADSI (Active Directory Service Interfaces) para obter o objeto de usuário e salvá-lo na variável.

O segundo comando usa o cmdlet para obter a ConvertFrom-SddlString representação de texto da cadeia de caracteres SDDL, contida na propriedade Sddl do objeto que representa o descritor de segurança.

Ele usa o parâmetro para especificar que a -Type cadeia de caracteres SDDL representa um descritor de segurança do Active Directory.

Parâmetros

-Sddl

Especifica a cadeia de caracteres que representa o descritor de segurança na sintaxe SDDL.

Tipo:String
Cargo:0
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

-Type

Especifica o tipo de direitos que a cadeia de caracteres SDDL representa.

Os valores aceitáveis para esse parâmetro são:

  • Direitos do Sistema de Arquivos
  • Direitos de Registro
  • ActiveDirectoryRights
  • Direitos Mutex
  • SemáforoDireitos
  • Direitos de Chave Criptográfica
  • EventWaitHandleRights

Por padrão, o cmdlet usa direitos do sistema de arquivos.

Não há suporte para CryptoKeyRights e ActiveDirectoryRights no PowerShell v6 e superior.

Tipo:Object
Valores aceitos:FileSystemRights, RegistryRights, ActiveDirectoryRights, MutexRights, SemaphoreRights, CryptoKeyRights, EventWaitHandleRights
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

Entradas

String

Você pode canalizar uma cadeia de caracteres SDDL para esse cmdlet.