域组成员管理是什么
AD 里的权限基本都通过组授予,所以日常操作集中在三件事:把人加进组、把人移出组、查一个人到底属于哪些组。加入用 Add-ADGroupMember,移除用 Remove-ADGroupMember,查询归属用 Get-ADPrincipalGroupMembership。第三条最常被忽略,却是权限复核与“为什么他能访问这个资源”这类问题的唯一可靠答案。
基本信息
| 适用平台 | Windows Server 域环境;需 ActiveDirectory 模块 |
|---|---|
| 加入语法 | Add-ADGroupMember -Identity 组 -Members 用户[,用户] |
| 移除语法 | Remove-ADGroupMember -Identity 组 -Members 用户 |
| 查归属 | Get-ADPrincipalGroupMembership -Identity 用户 |
| 查成员 | Get-ADGroupMember -Identity 组 |
| 生效方式 | 组成员变更在下一次登录或票据刷新时生效 |
典型使用场景
- 新员工按岗位模板批量加入资源组
- 员工转岗时先加新组、再在交接完成后移出旧组
- 权限复核:逐个回答“这个人为什么能访问某共享”
- 离职处置:把该用户从全部业务组中清理干净
- 盘点大组成员数,发现历史膨胀的访问控制列表
常用示例
常用示例
Add-ADGroupMember -Identity 'DL-Sales-RW' -Members wxm01 # 加入一个资源组
Add-ADGroupMember -Identity 'DL-Sales-RW' -Members u1,u2,u3 # 批量加入
Remove-ADGroupMember -Identity 'DL-Sales-RW' -Members wxm01 -Confirm:$false # 移除
Get-ADPrincipalGroupMembership -Identity wxm01 | Select-Object Name, GroupCategory, DistinguishedName # 查全部归属
Get-ADGroupMember -Identity 'DL-Sales-RW' | Measure-Object # 数一数组内成员
Get-ADGroupMember -Identity 'DL-Sales-RW' | Select-Object Name, objectClass # 看成员里是否嵌套了组三个命令的分工
| 命令 | 回答什么问题 | 注意点 |
|---|---|---|
| Add-ADGroupMember | 怎么给他权限 | 本质是加入资源组 |
| Remove-ADGroupMember | 怎么收回权限 | 移出后需等票据刷新 |
| Get-ADPrincipalGroupMembership | 他有哪些组身份 | 跨域时用 -ResourceContextServer |
| Get-ADGroupMember | 这个组里都有谁 | 可能返回嵌套组对象,需递归看 |
权限复核的标准问答就一条:此人为什么能访问 X?答案是资源 ACL 上允许的某个组,他通过嵌套成为了该组成员。只查直接成员会漏掉嵌套路径。
组成员身份变更后,用户已登录会话里的 Kerberos 票据仍带着旧组信息,通常要等票据刷新或重新登录才生效。排查“明明加了组还是没权限”时先确认这一点。
做权限复核可以把两者的输出落到文件里比对:用 Get-ADPrincipalGroupMembership 导出“人 → 组”,再用 Get-ADGroupMember 逐组展开“组 → 人”,两边印证据一致,结论才站得住。