我想以编程方式允许AD中给定的安全主体(用户或组)对AD组的member
属性具有写入权限。
我假设它的形式是:
$GroupObject = Get-ADGroup $group
$ACL = Get-ACL AD:$GroupObject
$ACE = New-Object System.Security.AccessControl.ActiveDirectoryAccessRule (
$manager,
...
)
$ACL.AddAccessRule($ACE)
Set-ACL -Path AD:$GroupObject -AclObject $ACL
我无法找到的文件是...
需要做些什么才能使其发挥作用。即使潜水手动操作并检查生成的ACL对象也很困难!
答案 0 :(得分:2)
您可以将此构造函数用于ActiveDirectoryAccessRule
:https://msdn.microsoft.com/en-us/library/cawwkf0x(v=vs.110).aspx
看起来应该是这样的:
$ACE = New-Object System.DirectoryServices.ActiveDirectoryAccessRule(
$manager.SID,
[System.DirectoryServices.ActiveDirectoryRights]::WriteProperty,
[System.Security.AccessControl.AccessControlType]::Allow,
"bf9679c0-0de6-11d0-a285-00aa003049e2",
[DirectoryServices.ActiveDirectorySecurityInheritance]::All
)
请注意,您需要传递用户的SID($manager.SID
)。
神秘的GUID是member
属性的GUID。您可以通过查看Microsoft文档中的属性来查找。这是member
的页面,您可以在其中找到“System-Id-Guid”:https://msdn.microsoft.com/en-us/library/ms677097(v=vs.85).aspx