使用get-aduser -properties memberof可直接查询域用户所属组,需先导入activedirectory模块;支持sam或upn格式用户名,输出dn格式组路径,可提取cn显示组名,验证归属推荐反向查组成员。

直接用 Get-ADUser 配合 -Properties MemberOf 就能快速查出指定域用户的所属组,无需额外遍历或解析 DN。
确认已加载 Active Directory 模块
PowerShell 默认不自带 AD cmdlet,需先确保模块可用:
- 在域控或已安装 RSAT 的管理机上运行:
Import-Module ActiveDirectory - 若提示找不到模块,需安装“远程服务器管理工具(RSAT)”中的“Active Directory 模块”
- 普通域成员机未安装 RSAT 时,该命令不可用
查询用户所属的全部安全组(含嵌套)
执行以下命令可一次性列出用户直接加入的所有组(DN 格式):
一款AI图像与设计工具,主要用于将文本渲染为图片并返回临时本地文件路径,支持可选的 data URI。适用于 Clawhub 或 Codex,用于将纯文本或带样式的文本进行转换,适合需要提升相关任务效率的用户。
Get-ADUser -Identity "username" -Properties MemberOf | Select-Object -ExpandProperty MemberOf- 替换
"username"为实际用户名(支持 SAM 账户名如zhangsan,也支持 UPN 如zhangsan@contoso.com) - 输出为完整 DN,例如:
CN=IT-Admins,OU=Groups,DC=contoso,DC=com
只显示组名,不显示完整 DN
如果只需清晰易读的组名(CN),可用如下方式提取:
(Get-ADUser -Identity "username" -Properties MemberOf).MemberOf | ForEach-Object { ($_ -split ',')[0] -replace 'CN=', '' }- 结果示例:
IT-Admins、Domain Users、Backup Operators - 注意:该方法仅取 CN,不处理同名组冲突或特殊字符,适用于常规环境
验证用户是否属于某特定组
检查归属关系更高效的方式是反向查询组成员,尤其适合批量或脚本判断:
Get-ADGroupMember -Identity "GroupName" | Where-Object {$_.SamAccountName -eq "username"}- 或用更轻量的过滤:
Get-ADGroup -Identity "GroupName" -Properties Members | Select-Object -ExpandProperty Members | Where-Object {$_ -like "*username*"} - 返回非空即表示用户在该组中










