ConvertFrom-SddlString

將 SDDL 字串轉換為自訂物件。

Syntax

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

Description

此 Cmdlet 僅適用於 Windows 平臺。

Cmdlet 會將 ConvertFrom-SddlString 安全性描述元定義語言字串轉換成具有下列屬性的自定義 PSCustomObject 物件:Owner、Group、DiscretionaryAcl、SystemAcl 和 RawDescriptor。

擁有者、群組、DiscretionaryAcl 和 SystemAcl 屬性包含 SDDL 字串中所指定訪問許可權的可讀取文字表示法。

此 Cmdlet 已在 PowerShell 5.0 中引進。

範例

範例 1:將文件系統訪問許可權 SDDL 轉換為 PSCustomObject

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

第一個命令會 Get-Acl 使用 Cmdlet 來取得 C:\Windows 資料夾的安全性描述元,並將它儲存在變數中。

第二個命令會 ConvertFrom-SddlString 使用 Cmdlet 來取得 SDDL 字串串的文字表示法,該字串包含在代表安全性描述元之 物件的 Sddl 屬性中。

範例 2:將登錄訪問許可權 SDDL 轉換為 PSCustomObject

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

第一個命令會 Get-Acl 使用 Cmdlet 來取得 HKLM:\SOFTWARE\Microsoft\ 金鑰的安全性描述元,並將它儲存在變數中。

第二個命令會 ConvertFrom-SddlString 使用 Cmdlet 來取得 SDDL 字串串的文字表示法,該字串包含在代表安全性描述元之 物件的 Sddl 屬性中。

它會使用 -Type 參數來指定 SDDL 字串代表登錄安全性描述元。

範例 3:使用 ConvertFrom-SddlString 搭配和不使用 '-Type' 參數,將登錄訪問許可權 SDDL 轉換為 PSCustomObject

$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 使用 Cmdlet 來取得 HKLM:\SOFTWARE\Microsoft\ 金鑰的安全性描述元,並將它儲存在變數中。

第二個命令會 ConvertFrom-SddlString 使用 Cmdlet 來取得 SDDL 字串串的文字表示法,該字串包含在代表安全性描述元之 物件的 Sddl 屬性中。

它不會使用 -Type 參數,因此顯示的訪問許可權適用於檔案系統。

第三個命令會 ConvertFrom-SddlString 使用 Cmdlet 搭配 -Type 參數,因此傳回的訪問許可權適用於登錄。

參數

-Sddl

指定字串,表示 SDDL 語法中的安全性描述元。

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Type

指定 SDDL 字串所代表的許可權類型。

此參數可接受的值為:

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

根據預設,Cmdlet 會使用文件系統許可權。

PowerShell v6 和更新版本中不支援 CryptoKeyRightsActiveDirectoryRights

Type:Microsoft.PowerShell.Commands.ConvertFromSddlStringCommand+AccessRightTypeNames
Accepted values:FileSystemRights, RegistryRights, ActiveDirectoryRights, MutexRights, SemaphoreRights, CryptoKeyRights, EventWaitHandleRights
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

輸入

String

您可以使用管線將 SDDL 字串傳送至此 Cmdlet。

備註

此 Cmdlet 僅適用於 Windows 平臺。