Freigeben über


ConvertFrom-SddlString

Konvertiert eine SDDL-Zeichenfolge in ein benutzerdefiniertes Objekt.

Syntax

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

Beschreibung

Dieses Cmdlet ist nur auf der Windows-Plattform verfügbar.

Das cmdlet ConvertFrom-SddlString konvertiert eine Sicherheitsbeschreibungsdefinitionssprache-Zeichenfolge in ein benutzerdefiniertes PSCustomObject- -Objekt mit den folgenden Eigenschaften: Owner, Group, DiscretionaryAcl, SystemAcl und RawDescriptor.

Die Eigenschaften "Owner", "Group", "DiscretionaryAcl" und "SystemAcl" enthalten eine lesbare Textdarstellung der in einer SDDL-Zeichenfolge angegebenen Zugriffsrechte.

Dieses Cmdlet wurde in PowerShell 5.0 eingeführt.

Beispiele

Beispiel 1: Konvertieren von Dateisystemzugriffsrechten SDDL in ein PSCustomObject

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

Der erste Befehl verwendet das Cmdlet Get-Acl, um den Sicherheitsdeskriptor für den Ordner "C:\Windows" abzurufen und in der Variablen zu speichern.

Der zweite Befehl verwendet das Cmdlet ConvertFrom-SddlString, um die Textdarstellung der SDDL-Zeichenfolge abzurufen, die in der Sddl-Eigenschaft des Objekts enthalten ist, das den Sicherheitsdeskriptor darstellt.

Beispiel 2: Konvertieren von Registrierungszugriffsrechten SDDL in ein PSCustomObject

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

Der erste Befehl verwendet das Cmdlet Get-Acl, um den Sicherheitsdeskriptor für den HKLM:\SOFTWARE\Microsoft\-Schlüssel abzurufen und in der Variablen zu speichern.

Der zweite Befehl verwendet das Cmdlet ConvertFrom-SddlString, um die Textdarstellung der SDDL-Zeichenfolge abzurufen, die in der Sddl-Eigenschaft des Objekts enthalten ist, das den Sicherheitsdeskriptor darstellt.

Der parameter -Type wird verwendet, um anzugeben, dass die SDDL-Zeichenfolge einen Registrierungssicherheitsdeskriptor darstellt.

Beispiel 3: Konvertieren von Registrierungszugriffsrechten SDDL in ein PSCustomObject mithilfe von ConvertFrom-SddlString mit und ohne den Parameter "-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)

Der erste Befehl verwendet das Cmdlet Get-Acl, um den Sicherheitsdeskriptor für den HKLM:\SOFTWARE\Microsoft\-Schlüssel abzurufen und in der Variablen zu speichern.

Der zweite Befehl verwendet das Cmdlet ConvertFrom-SddlString, um die Textdarstellung der SDDL-Zeichenfolge abzurufen, die in der Sddl-Eigenschaft des Objekts enthalten ist, das den Sicherheitsdeskriptor darstellt.

Der parameter -Type wird nicht verwendet, sodass die angezeigten Zugriffsrechte für das Dateisystem gelten.

Der dritte Befehl verwendet das cmdlet ConvertFrom-SddlString mit dem parameter -Type, sodass die zurückgegebenen Zugriffsrechte für die Registrierung gelten.

Parameter

-Sddl

Gibt die Zeichenfolge an, die die Sicherheitsbeschreibung in der SDDL-Syntax darstellt.

Typ:String
Position:0
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-Type

Gibt den Typ der Rechte an, die die SDDL-Zeichenfolge darstellt.

Die zulässigen Werte für diesen Parameter sind:

  • FileSystemRights
  • RegistryRights
  • ActiveDirectoryRights
  • MutexRights
  • SemaphoreRights
  • CryptoKeyRights
  • EventWaitHandleRights

Standardmäßig verwendet das Cmdlet Dateisystemrechte.

CryptoKeyRights und ActiveDirectoryRights werden in PowerShell v6 und höher nicht unterstützt.

Typ:Microsoft.PowerShell.Commands.ConvertFromSddlStringCommand+AccessRightTypeNames
Zulässige Werte:FileSystemRights, RegistryRights, ActiveDirectoryRights, MutexRights, SemaphoreRights, CryptoKeyRights, EventWaitHandleRights
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

Eingaben

String

Sie können eine SDDL-Zeichenfolge an dieses Cmdlet weiterleiten.

Hinweise

Dieses Cmdlet ist nur auf Windows-Plattformen verfügbar.