繁体   English   中英

将“Everyone”组添加到目录及其所有子目录中

[英]Add group “Everyone” to directory and all of it's sub-directories

我目前正在使用Vista 32位。 如何添加Windows安全组“Everyone”并完全控制目录及其所有子目录和所有文件? 是否有我可以使用的powershell脚本?

谢谢!

我扩展了martona的代码片段,并能够访问所有文件夹和子文件夹。 这是我的代码 -

$FilesAndFolders = gci "c:\data" -recurse | % {$_.FullName}
foreach($FileAndFolder in $FilesAndFolders)
{
    #using get-item instead because some of the folders have '[' or ']' character and Powershell throws exception trying to do a get-acl or set-acl on them.
    $item = gi -literalpath $FileAndFolder 
    $acl = $item.GetAccessControl() 
    $permission = "Everyone","FullControl","Allow"
    $rule = New-Object System.Security.AccessControl.FileSystemAccessRule $permission
    $acl.SetAccessRule($rule)
    $item.SetAccessControl($acl)
}
$acl = Get-Acl c:\mydir
$permission = "Everyone","FullControl","Allow"
$rule = New-Object System.Security.AccessControl.FileSystemAccessRule $permission
$acl.SetAccessRule($rule)
$acl | Set-Acl c:\mydir

有时,“原生”PowerShell方式不一定是最好的方式。 对于像这样的东西,我仍然会使用icacls.exe。 请记住,好的'exes在PowerShell中工作得很好。 只需cd到要设置和执行的目录:

icacls $pwd /grant "Everyone":(OI)(CI)F

这将使Everyone完全访问当前目录(通过权限继承)。 只要没有明确拒绝dir结构中的Everyone,这应该有效。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM