我有一个CSV文件如下
文件夹名称 ———- 安全组
Folder1 ———- SG_Folder1-Access
Folder2 ———- SG_Folder2-Access
我需要像下面这样分配权限,
所以安全组“SG_Folder1-Access”将修改“文件夹1”的访问权限
安全组“SG_Folder2-Access”将修改“文件夹2”的访问权限
我有500个文件夹和他们自己的安全组,需要创build一个权限shell脚本来分配权限。
任何帮助将非常感激。
谢谢
你可以尝试下面的脚本:
$acl = Get-Acl "\\$servername\folderpath" $rule = New-Object System.Security.AccessControl.FileSystemAccessRule("domain\user or usergroup","Modify", "ContainerInherit, ObjectInherit", "None", "Allow") $acl.AddAccessRule($rule) $rule = New-Object System.Security.AccessControl.FileSystemAccessRule("Users","Modify", "ContainerInherit, ObjectInherit", "None", "Allow") $acl.AddAccessRule($rule) Set-Acl "\\$servername\folderpath" $acl
这里有帮助的信息链接。 http://tomandersonpro.net/ntfs-permissions-with-powershell/
$CSV= Get-Content $CSVFileName foreach ($line in $CSV) { $folder= $line.split(";")[0] $group= $line.split(";")[1] $acl= Get-Acl $folder $ar = New-Object system.security.accesscontrol.filesystemaccessrule($group,"Modify","Allow") $acl.SetAccessRule($ar) $Set-Acl $folder $acl }
我没有testing过,但这是一个基本的想法。 试着自己改进。
也请按照以下链接: Set-Acl Get-Acl MS Technet