Get-Acl 帮助信息

来源:互联网 发布:linux运维之道 第二版 编辑:程序博客网 时间:2024/05/16 09:27
如下说明是翻译PowerShell: help Get-Acl 产生的帮助信息.
译者: Edengundam(马涛)
 
Get-Acl
 
摘要
获取资源的安全描述符, 例如文件或注册表键.
 
语法
Get-Acl [[-path] <string[]>] [-filter <string>] [-include <string[]>] [-exclude <string[]>] [-audit] [<CommonParameters>]
 
详细描述
Get-Acl cmdlet取得表示文件或资源的安全描述符. 安全描述符包含了资源的访问控制列表(ACLs). ACL指定了用户和用户组对资源具有的访问权限.
 
参数
 
-path <string[]>
指定资源的路径. Get-Acl取得路径指定的资源的安全描述符. 允许使用通配符. 如果你省略了参数Path, Get-Acl取得当前目录的安全描述符.
 
参数名称("-Path")为可选项.
 
强制参数?
false
参数位置?
1
默认值
 
允许从管道绑定输入?
true (根据值, 根据属性名)
允许通配符扩展?
true
 
-filter <string>
指定特定provider格式或语言的过滤器.此参数值用于限定Path参数. 过滤器的语法取决于provider(是否支持通配符也依赖provider). 过滤器相比其他参数更加有效, 主要因为provider取值时候使用过滤器, 而不是等到provider将所有内容返回后, Windows PowerShell 过滤对象.
 
强制参数?
false
参数位置?
named
默认值
 
允许从管道绑定输入?
false
允许通配符扩展?
false
 
-include <string[]>
取得指定的项. 此参数值用于限定Path参数. 输入一个路径元素或模式, 例如"*.txt"(此参数允许通配符).
 
强制参数?
false
参数位置?
named
默认值
 
允许从管道绑定输入?
false
允许通配符扩展?
true
 
-exclude <string[]>
忽略指定的项. 此参数值用于限定Path参数. 输入一个路径元素或模式, 例如"*.txt"(此参数允许通配符).
 
强制参数?
false
参数位置?
named
默认值
 
允许从管道绑定输入?
false
允许通配符扩展?
true
 
-audit <SwitchParameter>
从系统访问控制列表(SACL)中取得安全描述符的审计数据.
 
强制参数?
false
参数位置?
named
默认值
False
允许从管道绑定输入?
false
允许通配符扩展?
false
 
<公共参数>
此命令支持公共参数: -Verbose, -Debug, -ErrorAction, -ErrorVariable, and -OutVariable. 更多信息, 输入, "get-help about_commonparameters".
 
输入类型
String
 
返回类型
System.Security.AccessControl.DirectorySecurity对象
 
注意
 
更多信息, 输入"Get-Help Get-Acl -detailed". 需要技术信息, 输入"Get-Help Get-Acl -full".
 
如果需要为该命令提供多个参数, 请使用逗号进行分隔. 例如, "<parameter-name> <value1>, <value2>".
 
默认情况下, Get-Acl显示资源的Windows PowerShell路径(<provider>::<resource-path>), 资源的属主以及访问权限(资源的自由访问控制列表(DACL)中的访问控制项的列表或数组). 资源的属主控制DACL列表.
 
当你将结果格式化为列表时("get-acl | format-list"), 除了路径, 属主, 访问列表外, Windows PowerShell还将显示如下域:
 
·         Group: 属主的安全组.
·         Audit:  系统访问控制列表(SACL)中的列表(数组). SACL指定了Windows产生的审计记录的尝试访问的类型.
·         Sddl: 资源的安全描述以安全描述符定义语言的文本字符串格式显示. Windows PowerShell 使用安全描述的GetSddlForm方法取得此数据.
 
因为文件系统和注册表提供程序支持Get-Acl, 你可以使用Get-Acl查看文件系统上对象(例如: 目录和文件)ACL和注册表对象(例如: 注册表项和条目).
 
1
 
C:/PS>get-acl C:/windows
 
此命令取得C:Windows目录的安全描述符.
 
2
 
C:/PS>get-acl C:/Windows/k*.log | select-object PSPath, Sddl | format-list
 
此命令取得C:/Windows目录中所有以"k"开头的日志文件的路径和SDDL字符串.
 
命令使用Get-Acl取得表示每个日志文件的安全描述符. 它将结果发送给Select-Object cmdlet, 后者只选择PSPathSDDL域的值. 接下来, 它将结果发送给Format-List cmdlet将结果显示为列表形式. 因为数值过长将会在表格中被截断, 因此列表经常在Windows Powershell中使用.
 
对于系统管理员来说SDDL的值非常有价值, 这是因为这个简单的字符串包含了安全描述符中的所有的信息. 类似的是它们能够被容易的传递和保存, 必要的时候还可以被分析.
 
3
 
C:/PS>get-ACL c:/windows/k*.log -Audit | foreach-object { $_.Audit.Count }
 
此命令取得目录C:/Windows, "k"开头的日志文件的文件描述符. 它使用了Audit参数从安全描述符中的SACL中取得审计记录. 接下来它使用ForEach-Object参数, 来计算每个文件关联的审计记录的数量. 结果是表示每个日志文件的审核记录数量的数值列表.
 
4
 
C:/PS>get-acl -path hklm:/system/currentcontrolset/control | format-list
 
此命令使用Get-Acl取得注册表中Control子项(HKLM/SYSTEM/CurrentControlSet/Control)的安全描述符.
 
参数Path指定了Control子项的路径. 管道运算符(|)Get-Acl取得的安全描述符传给Format-List命令, 后者为了方便阅读, 将安全描述的属性格式化成一个列表.
 
相关链接
Set-Acl
about_namespace