我正在尝试编写将文件夹的安全权限链接到现有AD组的脚本。我还没有找到任何脚本或cmdlet(Set-Acl不能链接到组,只能显示权限)来编写脚本。
作为示例,我有一个名为“ FOLDER A”的文件夹和一个名为“ FOLDER A”的AD安全组。有什么方法可以将AD组添加到文件夹的安全性中?
文件夹权限内的AD组:
编辑:我可能已经找到关于serverfault的解决方案。我可以使用Get-ADGroup cmdlet查找每个组的SID,然后为Set-Acl传递IdentityReference。会测试一下,看看我能否使它工作
答案 0 :(得分:0)
在处理文件系统权限时,我总是使用NTFSSecurity模块。该模块中的命令比Set-Acl
更易于理解,因为它们的行为与GUI相同。
要将权限添加到文件夹,这只是一个命令:
Add-NTFSAccess -Path 'C:\Folder A' -Account 'Domain\Folder A' -AccessRights Read
值得阅读文档链接,因为该模块可以做的不仅仅是增加权限!
注意:您确实需要安装模块,如果您使用的是Powershell的现代版本,这很容易,因为您可以使用Install-Module -Name NTFSSecurity
。如果是旧版本,则需要手动下载并安装模块。
答案 1 :(得分:0)
我终于找到了解决我问题的方法。谢谢JamesC。-虽然我无法使用您的方法来弄清楚,但我相信它确实为我指明了正确的方向。
我本质上使用了FileSystemAccessRule
构造函数。我当时清楚的是意识到我可以实际引用广告组。我是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中格式化所有数据,并循环遍历以创建组。
谢谢大家!