powershell:xcopy目录模板acl到一个新文件夹

时间:2010-10-16 14:16:39

标签: powershell xcopy

我正在尝试执行xcopy / o等效项来复制包含其自己的适当acl的子目录的模板文件夹,以在Windows 2008服务器环境中创建具有相同子目录及其各自acl的新目标目录。

例如..

the template directory would be  templatedir
- sql 
- pm 
- dev 

targetdir  
- sql 
- pm 
- dev

每个子网具有相同的acl

这是我到目前为止所提出的

PS C:\> dir c:\templatefolder -recurse | where {$_.PSIsContainer} | foreach { 
$target= ($_.fullname).replace("C:\templatefolder","D:\targetfolder") 
  Get-Acl $_.Fullname | Set-Acl $target -whatif 
} 

我如何修改它,以便它包含继承并复制templatedir的acl?它目前只有子文件夹。提前谢谢

1 个答案:

答案 0 :(得分:0)

dirGet-ChildItem的别名,因此它将返回模板目录中的所有“子”项,但不返回目录本身。要复制模板dir的ACL,请添加此命令,例如:

PS C:\> Get-Acl C:\templatefolder | Set-Acl -path D:\targetfolder -whatif 

至于设置继承,使用icacls.exe

会更容易
C:\PS> icacls <name> /inheritance:e

运行icacls /?以查看有关此Windows实用程序的帮助。