Powershell 如何获取广告组中的嵌套组列表

Powershell 如何获取广告组中的嵌套组列表,powershell,active-directory,Powershell,Active Directory,在PowerShell脚本中,我需要获取组中的所有嵌套组。输出可以是组名数组(不需要任何级别或成员) 我在谷歌上搜索了一些广告脚本,但其中包括会员。Get-ADGroupMember方法还存在数千用户的大小结果错误。您可以使用自定义函数执行此操作: Function Get-ADNestedGroups { param($Members) foreach ($member in $Members) { $out = Get-ADGroup -filter "Di

在PowerShell脚本中,我需要获取组中的所有嵌套组。输出可以是组名数组(不需要任何级别或成员)


我在谷歌上搜索了一些广告脚本,但其中包括会员。Get-ADGroupMember方法还存在数千用户的大小结果错误。

您可以使用自定义函数执行此操作:

Function Get-ADNestedGroups {
    param($Members)

    foreach ($member in $Members) {
        $out = Get-ADGroup -filter "DistinguishedName -eq '$member'" -properties members
        $out | Select-Object Name
        Get-ADNestedGroups -Members $out.Members
    }
}

$group = "Group Name"
$members = (Get-ADGroup -Identity $group -Properties Members).Members
Get-ADNestedGroups $members
只需在
$group
变量中提供起始或顶级组名。然后执行代码。这将依赖于
Get-ADGroup
命令的
Members
属性结果,并递归地将这些成员导入
Get-ADGroup
。这被配置为仅输出找到的每个组的
名称
属性


免责声明:此代码无效。有了更多关于目录结构、命名约定等的信息,它可以变得更高效。问题在于不查询该对象就不知道用户和组之间的区别。如果所有组都在更高级别的OU中,称为组,然后,我们可以筛选出不是该容器的子对象的任何内容,然后只查找结果对象。

请使用您迄今为止尝试过的内容以及您遇到的特定问题/错误更新您的问题。以下是错误
Get-ADGroupMember:此请求的大小限制在第1行:char:12+$members=Get-ADGroupMember-Identity$group-Recursive | Select-ExpandPropert…
脚本将在我们客户端的各种广告服务器中运行,因此我不确定它们的目录结构。根据您的脚本,我试图在Get-ADGroup方法中将成员缩小为仅为组。例如,使用过滤器“objectClass”=“Group”,但不使用luck。如果你有任何想法,请提出建议。谢谢。@PhucNguyen Pease在事后没有添加进一步的要求。所有这些信息都应该包含在您的原始问题中。请将其更新为包含此内容,或者如果您有其他问题,请打开新电话:)