查找属于指定OU中多个组的成员

时间:2017-10-12 20:25:08

标签: powershell active-directory

我有一个名为PEOPLE GROUPS的OU。

用户不应属于多个PEOPLE GROUP。

需要查找属于PEOPLE GROUPS OU中多个组的所有用户。

1 个答案:

答案 0 :(得分:0)

我会从这样的事情开始:

Get-AdGroup -Filter * -SearchBase $PeopleGroupOU -SearchScope Subtree | ForEach-Object {
    $PeopleGroupDN = $_.DistinguishedName;
    $_ | Get-AdGroupMember | ForEach-Object {
        [PSCustomObject]@{
            UserDN = $_.DistinguishedName;
            PeopleGroupDN = $PeopleGroupDN;
        }
    }
} | Group-Object -Property UserDN | Where-Object {
    $_.Count -gt 1;
}

如果您在人员组中使用嵌套组,则可能需要Get-AdGroupMember -Recurse

我确信这可以写得更快,但这是最直接的PowerShell方法。