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 |
入力
SDDL 文字列をこのコマンドレットにパイプできます。
関連リンク
PowerShell