在 C# 中授予对 ActiveDirectory ServerContainer 的访问权限

Grant access on ActiveDirectory ServerContainer in C#

我需要找到一种方法来以编程方式授予对 Active Directory 中默认站点的 ServerContainer 的权限。

通过 "Active Directory Sites and Services" 手动操作很简单:

然后从需要转到此处授予所需权限的属性:

我已尝试通过 PowerShell 完成此操作,我设法找到了 ServersContainer,但找不到设置其权限的方法。我在 Google 上浏览了很多东西,但找不到解决方案。

有人知道如何处理吗?

站点是位于 CN=Configuration 中的 ADObject,因此如果您使用 Get-ADObject,则可以在 AD PS 驱动器中的该对象上使用 Get-ACL。然后您可以使用该对象上的方法或 Set-ACL cmdlet 来更改。

$params = @{
    Filter = 'ObjectClass -eq "site" -and name -eq "Default-First-Site-Name"'
    SearchBase = 'CN=Configuration,DC=contoso,DC=com'
}
$SiteDN = (Get-ADObject @params).DistinguishedName
$SiteACL = Get-ACL "AD:$($SiteDN)"