将文件夹安全性链接到AD安全组Powershell脚本

问题描述 投票:0回答:2

我正在尝试编写一个脚本,将文件夹的安全权限链接到现有的AD组。我还没有找到任何脚本或cmdlet(Set-Acl无法链接到组,只有显式权限),这允许我编写脚本。

例如,我有一个名为“FOLDER A”的文件夹和一个名为“FOLDER A”的AD安全组。有没有办法将AD组添加到文件夹的安全性?

文件夹权限示例中的AD组:

编辑:我可能在serverfault上找到了解决方案。我可以使用Get-ADGroup cmdlet查找每个组的SID,然后为Set-Acl传递IdentityReference。将测试这个,看看我是否可以让它工作

powershell active-directory ntfs
2个回答
0
投票

在处理文件系统权限时,我总是使用NTFSSecurity模块。这个模块中的命令比Set-Acl更容易理解,因为它们的行为方式与GUI相同。

要向文件夹添加权限,它只是一个命令:

Add-NTFSAccess -Path 'C:\Folder A' -Account 'Domain\Folder A' -AccessRights Read

值得阅读文档链接,因为模块可以做的不仅仅是添加权限!

注意:您需要安装模块,如果您使用的是现代版本的Powershell,这很简单,因为您可以使用Install-Module -Name NTFSSecurity。如果是旧版本,则需要手动下载并安装模块。


0
投票

我终于找到了解决问题的方法。感谢James C. - 虽然我无法用你的方法弄明白,但我相信它确实指出了我正确的方向。

我基本上使用了FileSystemAccessRuleconstructor。我清楚的那一刻是认识到我实际上可以引用AD组。我对Powershell很新,所以这对我来说并不是很明显。这是实施:

$acl = Get-Acl <PATH OF FOLDER>

$AccessRule = New-Object System.Security.AccessControl.FileSystemAccessRule('<NAME OF GROUP>','<PERMISSIONS>,'<Allow/Deny>')

$acl.SetAccessRule($AccessRule)

$acl | Set-Acl <PATH OF FOLDER>

可以在here找到构造函数的完整文档。然后我使用Python脚本格式化csv中的所有数据并循环遍历它以创建组。

感谢大家!

© www.soinside.com 2019 - 2024. All rights reserved.