ConvertFrom-SddlString
Converte una stringa SDDL in un oggetto personalizzato.
Sintassi
ConvertFrom-SddlString
[-Sddl] <String>
[-Type <Object>]
[<CommonParameters>]
Descrizione
Il ConvertFrom-SddlString
cmdlet converte una stringa Security Descriptor Definition Language in un oggetto PSCustomObject personalizzato con le proprietà seguenti: Owner, Group, DiscretionaryAcl, SystemAcl e RawDescriptor.
Le proprietà Owner, Group, DiscretionaryAcl e SystemAcl contengono una rappresentazione testuale leggibile dei diritti di accesso specificati in una stringa SDDL.
Questo cmdlet è stato introdotto in PowerShell 5.0.
Esempio
Esempio 1: Convertire i diritti di accesso al file system SDDL in un PSCustomObject
$acl = Get-Acl -Path C:\Windows
ConvertFrom-SddlString -Sddl $acl.Sddl
Il primo comando usa il Get-Acl
cmdlet per ottenere il descrittore di sicurezza per la cartella C:\Windows e lo salva nella variabile.
Il secondo comando usa il ConvertFrom-SddlString
cmdlet per ottenere la rappresentazione testuale della stringa SDDL contenuta nella proprietà Sddl dell'oggetto che rappresenta il descrittore di sicurezza.
Esempio 2: Convertire i diritti di accesso al Registro di sistema SDDL in un PSCustomObject
$acl = Get-Acl HKLM:\SOFTWARE\Microsoft\
ConvertFrom-SddlString -Sddl $acl.Sddl -Type RegistryRights
Il primo comando usa il Get-Acl
cmdlet per ottenere il descrittore di sicurezza per la chiave HKLM:\SOFTWARE\Microsoft\ e lo salva nella variabile.
Il secondo comando usa il ConvertFrom-SddlString
cmdlet per ottenere la rappresentazione testuale della stringa SDDL contenuta nella proprietà Sddl dell'oggetto che rappresenta il descrittore di sicurezza.
Usa il -Type
parametro per specificare che la stringa SDDL rappresenta un descrittore di sicurezza del Registro di sistema.
Esempio 3: Convertire i diritti di accesso al Registro di sistema SDDL in un PSCustomObject usando ConvertFrom-SddlString con e senza il parametro '-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)
Il primo comando usa il Get-Acl
cmdlet per ottenere il descrittore di sicurezza per la chiave HKLM:\SOFTWARE\Microsoft\ e lo salva nella variabile.
Il secondo comando usa il ConvertFrom-SddlString
cmdlet per ottenere la rappresentazione testuale della stringa SDDL contenuta nella proprietà Sddl dell'oggetto che rappresenta il descrittore di sicurezza.
Non usa il -Type
parametro , quindi i diritti di accesso visualizzati sono per il file system.
Il terzo comando usa il ConvertFrom-SddlString
cmdlet con il -Type
parametro , quindi i diritti di accesso restituiti sono per il Registro di sistema.
Esempio 4: Convertire i diritti di accesso di Active Directory SDDL in un PSCustomObject
$user = [ADSI]"LDAP://CN=username,CN=Users,DC=domain,DC=com"
ConvertFrom-SddlString $user.psbase.ObjectSecurity.Sddl -Type ActiveDirectoryRights
Il primo comando usa Active Directory Service Interfaces (ADSI) per ottenere l'oggetto utente e salvarlo nella variabile.
Il secondo comando usa il cmdlet per ottenere la ConvertFrom-SddlString
rappresentazione testuale della stringa SDDL contenuta nella proprietà Sddl dell'oggetto che rappresenta il descrittore di sicurezza.
Usa il -Type
parametro per specificare che la stringa SDDL rappresenta un descrittore di sicurezza di Active Directory.
Parametri
-Sddl
Specifica la stringa che rappresenta il descrittore di sicurezza nella sintassi SDDL.
Tipo: | String |
Posizione: | 0 |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-Type
Specifica il tipo di diritti rappresentato dalla stringa SDDL.
I valori validi per questo parametro sono:
- FileSystemRights
- RegistryRights
- ActiveDirectoryRights
- MutexRights
- SemaphoreRights
- CryptoKeyRights
- EventWaitHandleRights
Per impostazione predefinita, il cmdlet usa i diritti del file system.
CryptoKeyRights e ActiveDirectoryRights non sono supportati in PowerShell v6 e versioni successive.
Tipo: | Object |
Valori accettati: | FileSystemRights, RegistryRights, ActiveDirectoryRights, MutexRights, SemaphoreRights, CryptoKeyRights, EventWaitHandleRights |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
Input
È possibile inviare tramite pipe una stringa SDDL a questo cmdlet.