如何用PowerShell为AD安全主体设置AD组member属性写入权限?
给AD组的
member属性授予指定安全主体写入权限的完整PowerShell实现 刚好我之前做过类似的需求,来帮你补全这段代码并解释清楚关键部分——你卡壳的...其实是ActiveDirectoryAccessRule构造函数的几个核心参数,特别是针对member属性的权限配置,必须精准指定属性的Schema GUID,不然会误授所有属性的写入权限。
完整可运行代码
# 替换为你的目标组名称和要授权的安全主体(用户/组)名称 $targetGroupName = "SalesTeam" $authorizedPrincipalName = "TeamManagerJohn" # 获取目标AD组对象(需要distinguishedName用于ACL路径) $groupObject = Get-ADGroup -Identity $targetGroupName -Properties distinguishedName # 获取要授权的安全主体的AD对象(用户或组都适用) $authorizedPrincipal = Get-ADPrincipal -Identity $authorizedPrincipalName # 动态获取AD中`member`属性的Schema GUID(比硬编码更可靠) $memberPropertyGuid = Get-ADObject -SearchBase (Get-ADRootDSE).schemaNamingContext ` -Filter { Name -eq 'member' } ` -Properties ID | Select-Object -ExpandProperty ID # 获取目标组的当前ACL $groupAcl = Get-ACL -Path "AD:$($groupObject.distinguishedName)" # 创建关键的Access Control Entry(ACE) $accessRule = New-Object System.Security.AccessControl.ActiveDirectoryAccessRule( $authorizedPrincipal.SID, # 安全主体的SID(比名称更稳定) [System.DirectoryServices.ActiveDirectoryRights]::WriteProperty, # 权限:写入属性 [System.Security.AccessControl.AccessControlType]::Allow, # 访问类型:允许 $memberPropertyGuid, # 目标属性的GUID:精准指定为member属性 [System.DirectoryServices.ActiveDirectorySecurityInheritance]::None, # 不继承(只作用于组本身) [System.Guid]::Empty # 继承对象类型:空,因为不需要向下继承 ) # 将ACE添加到ACL中 $groupAcl.AddAccessRule($accessRule) # 应用更新后的ACL到AD组 Set-ACL -Path "AD:$($groupObject.distinguishedName)" -AclObject $groupAcl
关键参数解释
你之前困惑的...部分对应的是这几个核心参数,我来逐个说明:
$authorizedPrincipal.SID:用安全主体的SID而不是名称,避免名称变更导致权限失效,更稳定。WriteProperty:明确指定权限为“写入属性”,如果用GenericWrite会授予更宽泛的权限,不符合你的需求。memberPropertyGuid:这是最关键的部分!必须指定member属性的Schema GUID,否则ACE会对组的所有属性生效,而不是仅仅member属性。动态获取GUID的方式比硬编码更适配不同的AD环境。None(继承类型):因为我们只需要让权限作用于组对象本身,不需要继承到任何子对象(AD组本身没有子对象),所以设为None。
验证权限是否生效
执行完代码后,可以用以下命令验证ACE是否成功添加:
Get-ACL -Path "AD:$($groupObject.distinguishedName)" | Select-Object -ExpandProperty Access | Where-Object { $_.IdentityReference -match $authorizedPrincipalName }
你应该能看到一条权限为WriteProperty、目标属性为member的记录。
内容的提问来源于stack exchange,提问作者foo
相关产品推荐
相关产品推荐

