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

[玩转系统] Get-Acl (Microsoft.PowerShell.Security)

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

Get-Acl (Microsoft.PowerShell.Security)


Get-Acl

模块 :Microsoft.PowerShell.Security

获取资源(例如文件或注册表项)的安全描述符。

句法

Get-Acl
   [[-Path] <String[]>]
   [-Audit]
   [-Filter <String>]
   [-Include <String[]>]
   [-Exclude <String[]>]
   [<CommonParameters>]
Get-Acl
   -InputObject <PSObject>
   [-Audit]
   [-Filter <String>]
   [-Include <String[]>]
   [-Exclude <String[]>]
   [<CommonParameters>]
Get-Acl
   [-LiteralPath <String[]>]
   [-Audit]
   [-Filter <String>]
   [-Include <String[]>]
   [-Exclude <String[]>]
   [<CommonParameters>]

描述

此 cmdlet 仅适用于 Windows 平台。

Get-Acl cmdlet 获取表示文件或资源的安全描述符的对象。安全描述符包含资源的访问控制列表 (ACL)。 ACL指定用户和用户组访问资源的权限。

从 Windows PowerShell 3.0 开始,您可以使用 Get-AclInputObject 参数来获取没有路径的对象的安全描述符。

示例

示例 1 - 获取文件夹的 ACL

此示例获取 C:\Windows 目录的安全描述符。

Get-Acl C:\Windows

示例 2 - 使用通配符获取文件夹的 ACL

此示例获取 C:\Windows 目录中名称以 s 开头的所有 .log 文件的 PowerShell 路径和 SDDL。

Get-Acl C:\Windows\s*.log | Format-List -Property PSPath, Sddl

该命令使用 Get-Acl cmdlet 获取表示每个日志文件的安全描述符的对象。它使用管道运算符 (|) 将结果发送到 Format-List cmdlet。该命令使用 Format-ListProperty 参数仅显示每个安全描述符的 PsPathSDDL 属性目的。

列表经常在 PowerShell 中使用,因为长值在表中会被截断。

SDDL 值对系统管理员很有价值,因为它们是包含安全描述符中所有信息的简单文本字符串。因此,它们很容易传递和存储,并且可以在需要时进行解析。

示例 3 - 获取 ACL 的审核条目计数

此示例获取 C:\Windows 目录中名称以 s 开头的 .log 文件的安全描述符。

Get-Acl C:\Windows\s*.log -Audit | ForEach-Object { $_.Audit.Count }

它使用Audit参数从安全描述符中的SACL获取审核记录。然后,它使用 ForEach-Object cmdlet 来计算与每个文件关联的审核记录的数量。结果是一个数字列表,表示每个日志文件的审核记录数。

示例 4 - 获取注册表项的 ACL

此示例使用 Get-Acl cmdlet 获取注册表的 Control 子项 (HKLM:\SYSTEM\CurrentControlSet\Control) 的安全描述符。

Get-Acl -Path HKLM:\System\CurrentControlSet\Control | Format-List

Path 参数指定 Control 子项。管道运算符 (|) 将 Get-Acl 获取的安全描述符传递给 Format-List 命令,该命令会格式化安全属性描述符作为列表,以便于阅读。

示例 5 - 使用 **InputObject** 获取 ACL

此示例使用 Get-AclInputObject 参数来获取存储子系统对象的安全描述符。

Get-Acl -InputObject (Get-StorageSubSystem -Name S087)

参数

-Audit

从系统访问控制列表 (SACL) 获取安全描述符的审核数据。

类型 :

SwitchParameter

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

False

接受通配符:

False

-Exclude

省略指定的项目。此参数的值限定 Path 参数。输入路径元素或模式,例如 *.txt。允许使用通配符。

类型 :

String[]

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

False

接受通配符:

True

-Filter

以提供者的格式或语言指定过滤器。此参数的值限定 Path 参数。过滤器的语法(包括通配符的使用)取决于提供程序。过滤器比其他参数更有效,因为提供程序在获取对象时应用它们,而不是让 PowerShell 在检索对象后过滤对象。

类型 :

String

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

False

接受通配符:

True

-Include

仅获取指定的项目。此参数的值限定 Path 参数。输入路径元素或模式,例如 *.txt。允许使用通配符。

类型 :

String[]

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

False

接受通配符:

True

-InputObject

获取指定对象的安全描述符。输入包含对象的变量或获取对象的命令。

您不能将路径以外的对象通过管道传递给 Get-Acl。相反,请在命令中显式使用 InputObject 参数。

此参数是在 Windows PowerShell 3.0 中引入的。

类型 :

PS对象

位置:

命名

默认值:

None

必需的:

True

接受管道输入:

False

接受通配符:

False

-LiteralPath

指定资源的路径。与 Path 不同,LiteralPath 参数的值完全按照键入的方式使用。没有字符被解释为通配符。如果路径包含转义字符,请将其用单引号引起来。单引号告诉 PowerShell 不要将任何字符解释为转义序列。

此参数是在 Windows PowerShell 3.0 中引入的。

类型 :

String[]

别名:

PSPath

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

True

接受通配符:

False

-Path

指定资源的路径。 Get-Acl 获取路径指示的资源的安全描述符。允许使用通配符。如果省略 Path 参数,Get-Acl 将获取当前目录的安全描述符。

参数名称(“路径”)是可选的。

类型 :

String[]

位置:

1

默认值:

None

必需的:

False

接受管道输入:

True

接受通配符:

True

输入

字符串

您可以通过管道传输包含此 cmdlet 路径的字符串。

输出

文件安全

目录安全

注册表安全

此 cmdlet 返回一个表示它获取的 ACL 的对象。对象类型取决于 ACL 类型。

笔记

此 cmdlet 仅在 Windows 平台上可用。

默认情况下,Get-Acl 显示资源的 PowerShell 路径 (<provider>::

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

取消回复欢迎 发表评论:

关灯