0

所以我有 200 个文件夹,每个文件夹的名称都是从活动目录中的一个组创建的。

例如.. C:/project/Users/ 在用户中我有一个包含 200 个文件夹的列表..

约翰·多伊

简·多伊

亚当斯科特

Cabir Notad

等等等等..

我需要为每个文件夹分配专门为其用户以及两个组的共享权限。因此,John Doe 的文件夹需要获得 John Doe、IT 安全组、复印机的权限。Jane Doe 也是如此,她的文件夹需要 Jane Doe、IT 安全组、复印机的权限。

除了两个安全组之外,我们不能将组用于特定用户权限,因为每个用户只能访问他们各自的文件夹,他们不应该能够访问其他用户的文件。

我找到了一个使用 icacls 的脚本,但它没有产生我想要的结果所以我对 power shell 或任何其他可能有帮助的脚本持开放态度。

这是脚本..但我认为它有不同的目的..它称为批量替换基于文件夹名称的文件夹所有者

$folders = Get-ChildItem -Path d:\home | Where-Object -FilterScript {
    $_.PSIsContainer -eq $true
}

foreach ($folder in $folders) 
{
    $path = $folder.fullname
    $ACL = Get-Acl -Path $path
    $user = $folder.name
    icacls.exe $path /setowner $user
}

我很感激任何帮助,我很惊讶这似乎是一个不常见的请求,因为我一直在寻找几天。再次感谢..

4

1 回答 1

-1

如果您想弄清楚如何将 icacls 与 PowerShell 一起使用来处理许可文件夹的一些逻辑,我建议您看一下: Using iCalcs in PowerShell Winter Scripting Games

它通过完整的解决方案解决了更复杂的场景。它应该给你足够的时间来适应你的需要。

于 2018-02-14T17:20:40.007 回答