当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] ConvertFrom-SddlString (Microsoft.PowerShell.Utility)

作者:精品下载站 日期:2024-12-14 02:08:26 浏览:12 分类:玩电脑

ConvertFrom-SddlString (Microsoft.PowerShell.Utility)


ConvertFrom-SddlString

模块 :Microsoft.PowerShell.Utility

将 SDDL 字符串转换为自定义对象。

句法

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

描述

此 cmdlet 仅适用于 Windows 平台。

ConvertFrom-SddlString cmdlet 将安全描述符定义语言字符串转换为具有以下属性的自定义 PSCustomObject 对象:Owner、Group、DiscretionaryAcl、SystemAcl 和 RawDescriptor。

Owner、Group、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:使用带或不带“-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 cmdlet 获取 HKLM:\SOFTWARE\Microsoft\ 密钥的安全描述符并将其保存在变量中。

第二个命令使用 ConvertFrom-SddlString cmdlet 获取 SDDL 字符串的文本表示形式,该字符串包含在表示安全描述符的对象的 Sddl 属性中。

它不使用 -Type 参数,因此显示的访问权限适用于文件系统。

第三个命令使用带有 -Type 参数的 ConvertFrom-SddlString cmdlet,因此返回的访问权限适用于注册表。

参数

-Sddl

指定表示 SDDL 语法中的安全描述符的字符串。

类型 :

String

位置:

0

默认值:

None

必需的:

True

接受管道输入:

True

接受通配符:

False

-Type

指定 SDDL 字符串表示的权限类型。

该参数可接受的值为:

  • 文件系统权限
  • RegistryRights
  • Active Directory 权限
  • MutexRights
  • SemaphoreRights
  • 加密密钥权利
  • 事件等待处理权限

默认情况下,cmdlet 使用文件系统权限。

PowerShell v6 及更高版本不支持 CryptoKeyRightsActiveDirectoryRights

类型 :

Microsoft.PowerShell.Commands.ConvertFromSddlStringCommand+AccessRightTypeNames

接受的值:

FileSystemRights、RegistryRights、ActiveDirectoryRights、MutexRights、SemaphoreRights、CryptoKeyRights、EventWaitHandleRights

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

False

接受通配符:

False

输入

字符串

您可以通过管道将 SDDL 字符串传递给此 cmdlet。

笔记

此 cmdlet 仅在 Windows 平台上可用。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯