我目前使用的是Vista 32位。如何添加Windows安全组“Everyone”并完全控制目录及其所有子目录和所有文件?有没有我可以使用的PowerShell脚本?将组“Everyone”添加到目录及其所有子目录
谢谢!
我目前使用的是Vista 32位。如何添加Windows安全组“Everyone”并完全控制目录及其所有子目录和所有文件?有没有我可以使用的PowerShell脚本?将组“Everyone”添加到目录及其所有子目录
谢谢!
我已经扩展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。请记住,在PowerShell中,好的工作方式非常好。只是cd到你想要设置和执行该目录:
icacls $pwd /grant "Everyone":(OI)(CI)F
这将让每个人都完全访问到当前目录下(通过权限继承)。只要没有明确否认dir结构中的每个人,这应该起作用。
谢谢你。运行良好,如果有人想知道“Get-Item -LiteralPath”在UNC路径上工作,这意味着您可以将权限应用于远程计算机。 – Patrick 2013-02-11 12:13:44