次の方法で共有


ConvertFrom-SddlString

SDDL 文字列をカスタム オブジェクトに変換します。

構文

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

説明

ConvertFrom-SddlString コマンドレットは、セキュリティ記述子定義言語文字列を、Owner、Group、DiscretionaryAcl、SystemAcl、RawDescriptor のプロパティを持つカスタム PSCustomObject オブジェクトに変換します。

Owner、Group、DiscretionaryAcl、SystemAcl のプロパティには、SDDL 文字列で指定されたアクセス権の読み取り可能なテキスト表現が含まれています。

このコマンドレットは、PowerShell 5.0 で導入されました。

例 1: ファイル システム アクセス権 SDDL を PSCustomObject に変換する

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

最初のコマンドでは、 Get-Acl コマンドレットを使用して C:\Windows フォルダーのセキュリティ記述子を取得し、変数に保存します。

2 番目のコマンドでは、 ConvertFrom-SddlString コマンドレットを使用して、セキュリティ記述子を表すオブジェクトの Sddl プロパティに含まれる SDDL 文字列のテキスト表現を取得します。

例 2: レジストリ アクセス権 SDDL を PSCustomObject に変換する

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

最初のコマンドでは、 Get-Acl コマンドレットを使用して HKLM:\SOFTWARE\Microsoft\ キーのセキュリティ記述子を取得し、変数に保存します。

2 番目のコマンドでは、 ConvertFrom-SddlString コマンドレットを使用して、セキュリティ記述子を表すオブジェクトの Sddl プロパティに含まれる SDDL 文字列のテキスト表現を取得します。

-Type パラメーターを使用して、SDDL 文字列がレジストリ セキュリティ記述子を表すように指定します。

例 3: '-Type' パラメーターの有無にかかわらず ConvertFrom-SddlString を使用して、レジストリ アクセス権 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 コマンドレットを使用して HKLM:\SOFTWARE\Microsoft\ キーのセキュリティ記述子を取得し、変数に保存します。

2 番目のコマンドでは、 ConvertFrom-SddlString コマンドレットを使用して、セキュリティ記述子を表すオブジェクトの Sddl プロパティに含まれる SDDL 文字列のテキスト表現を取得します。

-Type パラメーターは使用されないため、表示されるアクセス権はファイル システム用です。

3 番目のコマンドでは、-Type パラメーターと共に ConvertFrom-SddlString コマンドレットを使用するため、返されるアクセス権はレジストリ用です。

例 4: Active Directory アクセス権 SDDL を PSCustomObject に変換する

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

最初のコマンドでは、Active Directory サービス インターフェイス (ADSI) を使用してユーザー オブジェクトを取得し、変数に保存します。

2 番目のコマンドでは、 ConvertFrom-SddlString コマンドレットを使用して、セキュリティ記述子を表すオブジェクトの Sddl プロパティに含まれる SDDL 文字列のテキスト表現を取得します。

-Type パラメーターを使用して、SDDL 文字列が Active Directory セキュリティ記述子を表すように指定します。

パラメーター

-Sddl

SDDL 構文でセキュリティ記述子を表す文字列を指定します。

型:String
配置:0
規定値:None
必須:True
パイプライン入力を受け取る:True
ワイルドカード文字を受け取る:False

-Type

SDDL 文字列が表す権限の種類を指定します。

このパラメーターの有効値は、次のとおりです。

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

既定では、コマンドレットはファイル システム権限を使用します。

CryptoKeyRights および ActiveDirectoryRights は PowerShell v6 以降ではサポートされていません。

型:Object
指定可能な値:FileSystemRights, RegistryRights, ActiveDirectoryRights, MutexRights, SemaphoreRights, CryptoKeyRights, EventWaitHandleRights
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

入力

String

SDDL 文字列をこのコマンドレットにパイプできます。