You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取Active Directory指定组的含用户完整子组依赖关系?

列出Active Directory指定组的含用户子组依赖关系

需求说明

获取指定Active Directory组的完整嵌套子组依赖链,仅保留那些至少包含1个用户成员的子组。

现有命令的问题

你当前使用的命令:

dsquery group -samid <specific_group> | dsget group -members -expand  | dsquery * -filter "(&amp;(objectclass=group))"

仅能筛选出指定组展开后的所有组类型成员,但存在以下不足:

  • 未检查这些子组是否包含用户成员
  • 可能输出重复的组条目
  • 无法直接关联子组的层级依赖关系

修正后的解决方案

方案1:使用DS命令行工具(批处理脚本)

以下脚本会先递归获取指定组的所有嵌套子组,再逐个验证是否包含用户成员,最终输出符合条件的组信息:

@echo off
setlocal enabledelayedexpansion
set "targetSamID=<替换为目标组的SAM账户名>"

:: 导出指定组的所有嵌套子组(去重)
dsquery group -samid !targetSamID! | dsget group -members -expand | dsquery * -filter "(&(objectClass=group))" -limit 0 | sort /unique > temp_groups.txt

echo 符合条件的子组(含至少1个用户):
echo -------------------------------------
:: 遍历每个组,检查是否存在用户成员
for /f "delims=" %%g in (temp_groups.txt) do (
    :: 查询当前组的成员,筛选用户类型条目
    dsget group %%g -members | findstr /i "CN=.*,OU=.*,DC=.*" | findstr /v "objectClass=group" > nul
    if not errorlevel 1 (
        echo 组DN:%%g
        dsget group %%g -samid -displayname
        echo -------------------------------------
    )
)

:: 清理临时文件
del temp_groups.txt
endlocal

方案2:使用PowerShell(更高效直观)

PowerShell的AD模块能更灵活地处理递归查询和条件筛选,适合大规模AD环境:

# 替换为目标组的SAM账户名或组DN
$targetGroup = "<替换为目标组标识>"

# 递归获取指定组的所有嵌套子组(去重)
$allNestedGroups = Get-ADGroupMember -Identity $targetGroup -Recursive | 
    Where-Object { $_.ObjectClass -eq 'group' } | 
    Select-Object -Unique

# 筛选出包含至少1个用户成员的组
$groupsWithUsers = $allNestedGroups | ForEach-Object {
    $group = Get-ADGroup $_ -Properties Members
    # 检查组内是否存在用户类型的成员
    if ($group.Members | ForEach-Object { (Get-ADObject $_).ObjectClass } -contains 'user') {
        $_
    }
}

# 格式化输出结果
$groupsWithUsers | Select-Object Name, SamAccountName, DistinguishedName | Format-Table -AutoSize

说明

  • 方案1需要确保你有AD命令行工具(dsquery、dsget)的执行权限,且命令行环境已加入AD域
  • 方案2需要安装RSAT-AD-PowerShell模块,且运行PowerShell的账号拥有AD读取权限

内容的提问来源于stack exchange,提问作者Doublementi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 02:10:27