使用powershell获取OU中所有用户的组成员身份?

时间:2016-04-05 13:41:02

标签: powershell-v2.0 powershell-v3.0

我是PowerShell的新手,但我希望有一种方法可以为指定OU中的所有用户获取组成员资格。 例如,如果我想知道OU"用户"中的所有用户是哪些用户,而不是键入他们的同一个用户。可能吗?如果我能将它呈现在列表中,那也会很棒。

由于

1 个答案:

答案 0 :(得分:1)

查看ActiveDirectory模块中的Get-ADUser

$Users = Get-ADUser -Filter * -SearchBase 'CN=Users,DC=Contoso,DC=com' -Properties MemberOf

然后,您可以根据需要格式化输出。

请注意,如果您想要一个递归组成员资格 - 即用户所属的所有组以及这些组所属的所有组 - 那么逻辑会更改,您必须为每个用户执行查找:

$Users = Get-ADUser -Filter * -SearchBase 'CN=Users,DC=Contoso,DC=com' -Properties MemberOf, DistinguishedName;
$Users | ForEach-Object {
    Get-ADGroup -LDAPFilter ("(member:1.2.840.113556.1.4.1941:={0})" -f $_.DistinguishedName);
}

显然,你必须做一些操作才能让用户和团队保持在一起,但我会把它作为练习留给你。