Condividi tramite


ConvertFrom-SddlString

Converte una stringa SDDL in un oggetto personalizzato.

Sintassi

Default (Impostazione predefinita)

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

Descrizione

Il cmdlet ConvertFrom-SddlString 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 cmdlet Get-Acl per ottenere il descrittore di sicurezza per la cartella C:\Windows e lo salva nella variabile.

Il secondo comando usa il cmdlet ConvertFrom-SddlString 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 cmdlet Get-Acl per ottenere il descrittore di sicurezza per la chiave HKLM:\SOFTWARE\Microsoft\ e lo salva nella variabile.

Il secondo comando usa il cmdlet ConvertFrom-SddlString per ottenere la rappresentazione testuale della stringa SDDL contenuta nella proprietà Sddl dell'oggetto che rappresenta il descrittore di sicurezza.

Usa il parametro -Type 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 cmdlet Get-Acl per ottenere il descrittore di sicurezza per la chiave HKLM:\SOFTWARE\Microsoft\ e lo salva nella variabile.

Il secondo comando usa il cmdlet ConvertFrom-SddlString per ottenere la rappresentazione testuale della stringa SDDL contenuta nella proprietà Sddl dell'oggetto che rappresenta il descrittore di sicurezza.

Non usa il parametro -Type, quindi i diritti di accesso visualizzati sono per il file system.

Il terzo comando usa il cmdlet ConvertFrom-SddlString con il parametro -Type, 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 ConvertFrom-SddlString per ottenere la rappresentazione testuale della stringa SDDL contenuta nella proprietà Sddl dell'oggetto che rappresenta il descrittore di sicurezza.

Usa il parametro -Type 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.

Proprietà dei parametri

Tipo:String
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:0
Obbligatorio:True
Valore dalla pipeline:True
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-Type

Specifica il tipo di diritti rappresentato dalla stringa SDDL.

I valori accettabili per questo parametro sono:

  • Diritti del File System
  • Diritti del Registro
  • 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.

Proprietà dei parametri

Tipo:Object
Valore predefinito:None
Valori accettati:FileSystemRights, RegistryRights, ActiveDirectoryRights, MutexRights, SemaphoreRights, CryptoKeyRights, EventWaitHandleRights
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

CommonParameters

Questo cmdlet supporta i parametri comuni: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Per altre informazioni, vedi about_CommonParameters.

Input

String

È possibile inviare tramite pipe una stringa SDDL a questo cmdlet.