Set-Acl 帮助信息

翻译 2007年09月20日 18:58:00

如下说明是翻译: help Set-Acl 产生的帮助信息.

译者: Edengundam(马涛)

 

Set-Acl

 

大纲

修改指定资源的安全描述符, 例如文件或注册表键.

 

语法

Set-Acl [-path] <string[]> [-aclObject] <ObjectSecurity> [-filter <string>] [-include <string[]>] [-exclude <string[]>] [-passThru] [-whatIf] [-confirm] [<CommonParameters>]

 

详细描述

Set-Acl cmdlet修改指定资源的安全描述符为你提供的安全描述符, 例如文件或注册表键.

 

在使用Set-Acl, 使用参数Path指定你要修改安全描述符的资源, 使用参数AclObject来指定你希望的安全描述符值. Set-Acl将参数AclObject提供的值作为模板, 来修改资源上的安全描述符.

 

参数

 

-path <string[]>

指定你需要修改的资源. 输入资源的路径, 例如文件系统或注册键的路径. 这里允许使用通配符.

 

如果你将安全对象传递给Set-Acl (不管是使用参数AclObject或传递一个从命令Get-Acl取得的对象给Set-Acl), 而没有提供Path(名字与值都没有提供), Set-Acl将会使用安全对象中的路径.

 

强制参数?

true

参数位置?

1

默认值

 

允许从管道绑定输入?

true (根据属性名)

允许通配符扩展?

true

 

-aclObject <ObjectSecurity>

指定具有期望值的ACL. Set-Acl改变参数Path指向资源的ACL为此参数输入的对象值.

 

你可以将Get-Acl命令的输出结果保存到一个变量中, 然后将该变量通过参数AclObject传递给命令. 你也可以使用Get-Acl构成的表达式来给AclObject传值.

 

强制参数?

true

参数位置?

2

默认值

 

允许从管道绑定输入?

true (根据值)

允许通配符扩展?

false

 

-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

 

-passThru <SwitchParameter>

输出此命令创建的对象到管道中. 默认情况下, 此命令不会将对象输出到管道.

 

强制参数?

false

参数位置?

named

默认值

False

允许从管道绑定输入?

false

允许通配符扩展?

false

 

-whatIf

描述执行此命令将会发生的现象, 不会真正执行此命令.

 

强制参数?

false

参数位置?

named

默认值

 

允许从管道绑定输入?

false

允许通配符扩展?

false

 

-confirm

执行命令前提示你进行确认.

 

强制参数?

false

参数位置?

named

默认值

 

允许从管道绑定输入?

false

允许通配符扩展?

false

 

<公共参数>

此命令支持公共参数: -Verbose, -Debug, -ErrorAction, -ErrorVariable, and -OutVariable. 更多信息, 输入, "get-help about_commonparameters".

 

注意

 

更多信息, 输入 "Get-Help Set-Acl -detailed". 需要技术信息, 输入 "Get-Help Set-Acl -full".

 

Windows PowerShell文件系统和注册表providers支持Set-Acl cmdlet. 也就是说, 你能使用它改变文件, 目录和注册表键的安全描述符.

 

如果需要为该命令提供多个参数, 请使用逗号进行分隔. 例如, "<parameter-name> <value1>, <value2>".

 

1

 

C:/PS>$DogACL = get-acl c:/dog.txt

 

C:/PS>set-acl -path C:/cat.txt -AclObject $DogACL

 

这些命令将文件Dog.txt的安全描述符拷贝给文件Cat.txt. 当命令完成后, 文件Dog.txtCat.txt的文件描述符是一样的.

 

第一个命令使用Get-Acl cmdlet取得文件Dog.txt的安全描述符. 赋值运算符(=)将安全描述符存储到变量$DogACL.

 

第二命令调用了Set-Acl文件Cat.txtACL改变为$DogACL中的值.

 

参数Path指定了文件Cat.txt的路径. 参数AclObject的值是ACL的模板, 这个例子中, Dog.txtACL被存储在变量$DogACL.

 

2

 

C:/PS>get-acl c:/dog.txt | set-acl -path C:/cat.txt

 

这个例子的命令和上一个例子几乎一模一样, 区别只在于使用管道运算符将Get-Acl输出的安全描述符传递给命令Set-Acl.

 

第一个命令使用Get-Acl cmdlet取得文件Dog.txt的安全描述符. 管道运算符(|)将表示Dog.txt安全描述符传递给命令Set-Acl.

 

第二个命令Set-AclDog.txt的安全描述符应用于Cat.txt. 当命令执行完, Dog.txtACLCat.txt是一致的.

 

3

 

C:/PS>$newACL = get-acl file0.txt

C:/PS>get-childitem c:/temp -recurse -include *.txt -force | set-acl -aclobject $newacl

 

此命令将文件File0.txt的安全描述符应用到C:/Temp目录和其子目录中的所有文本文件.

 

第一个命令取得当前目录下的文件File0.txt的安全描述符使用赋值运算符(=)将其存储在变量$newACL.

 

管道线中第一个命令Get-Childitem返回目录C:/Temp. 参数Recurse将指示该命令处理C:/temp和其子目录. 参数Include限制只取得文件扩展名为".txt"的文件. 参数Force指示操作包含隐藏文件, 如果没有使用此参数, 此命令将会忽略隐藏文件. (你不能使用"c:/temp/*.txt", 这是因为参数Recurse只适用于在目录上, 而不能适用于文件上.)

 

管道运算符(|)将取得的文件传递给Set-Acl命令, Set-Acl将会应用参数AclObject提供的安全描述到所有管道中的对象.

 

在实践中, 你最好在使用对于会影响多于一个资源的Set-Acl命令时, 先行带有参数Whatif的命令. 这个情况下, 管道线中的第二个命令将会是"set-acl -aclobject $newacl -whatif". 此命令就会列出将会被命令影响的所有文件. 在检查过输出后, 你再执行没有参数Whatif的命令.

 

相关链接

Get-Acl

about_namespace 

 

相关文章推荐

Set Access Control to File/Folder (ACL)

The following Code is from MSDN: Set Access Control to File using System; using System.IO; using...

Redis ACL之redis_set类分析介绍

本章主要介绍ACL中redis_set类中与Redis中set类型对应的命 redis_set的构造函数redis_set(void); redis_set(redis_client* conn);...

[Azure]使用Powershell输出Azure订阅下所有虚拟机的ACL信息

这个脚本可以用来输出订阅下所有虚拟机的ACL信息,脚本内容: # 设置订阅ID Select-AzureSubscription -SubscriptionName "XXXXXX" # 获取当前默...

通过dbms_stats.set_table_stats手动设置临时表统计信息

--通过dbms_stats.set_table_stats手动设置临时表统计信息 EODA@PROD1> create global temporary table t ( x int, y va...

雪城大学信息安全讲义 3.3 提升 Set-UID 程序的安全性

3.3 提升 Set-UID 程序的安全性 exec函数 exec函数系列通过将当前进程映像包装为新的,来运行紫禁城。有许多exec函数的版本,工作方式不同。它们可以归类为: 使用/不适用 She...

雪城大学信息安全讲义 3.2 Set-UID 程序的漏洞

2 Set-UID 程序的漏洞2.1 隐藏的输入:环境变量特权程序必须对所有输入进行安全检查。输入检查实际上是访问控制的一部分,特权程序必须这么做,来确保程序的安全。很多安全问题都是输入检查的错误造成...

UVA - 1602 Lattice Animals : 完备信息 set

题目点此跳转 Lattice animal is a set of connected sites on a lattice. Lattice animals on a square lattic...
  • a27038
  • a27038
  • 2017年07月27日 10:48
  • 104

借助Set去除List中的重复信息

//去除重复信息 protected List remo(List list){ List newList = new ArrayList(); Set set = new HashS...

Hibernate Dialect must be explicitly set 错误信息解决方法

Hibernate Dialect must be explicitly set 错误信息解决方法 编程时出现这种错误的原因如下: 1、最明显的原因,在配置文件中没有设置Dialect; 2...
  • zxl0016
  • zxl0016
  • 2012年05月31日 23:07
  • 4443

oracle存储过程insert,错误信息:Non supported character set: oracle-character-set-852

这几天快被oracle存储过程给搞疯了,
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Set-Acl 帮助信息
举报原因:
原因补充:

(最多只允许输入30个字)