使用 System.Security.AccessControl.FileSystemAccessRule 设置权限时是否可以在某种数组中直接指定超过 1 个用户?
示例代码:
$acl = Get-Acl perm.txt
$AccessRule = New-Object System.Security.AccessControl.FileSystemAccessRule("Desktop\David","Read","Allow")
$acl.SetAccessRule($AccessRule)
Get-ChildItem -Path "C:\Users\David\Scripts\test\testfiles" -Recurse -Filter "*testing1234*" -File | Set-Acl -AclObject $acl
Run Code Online (Sandbox Code Playgroud)
这工作正常并为用户 David 设置权限。但是假设我想为用户 David 和用户 Lena 设置权限,是否可以指定多个用户,例如:
$AccessRule = New-Object System.Security.AccessControl.FileSystemAccessRule("Desktop\David","Read","Allow","Desktop\Lena","Read","Allow")
Run Code Online (Sandbox Code Playgroud)
或者是否必须为用户生成唯一的 ACL?
使用循环将多个 ACE 添加到 ACL:
$users = 'foo', 'bar', 'baz'
foreach ($user in $users) {
$ace = New-Object Security.AccessControl.FileSystemAccessRule ("Desktop\${user}", 'Read', 'Allow')
$acl.AddAccessRule($ace)
}
Run Code Online (Sandbox Code Playgroud)
您可能还希望避免将 ACL 递归地应用于文件夹树。将 ACL 应用于最顶层的文件夹,并让 ACL 继承处理其余的事情。
归档时间: |
|
查看次数: |
6310 次 |
最近记录: |