Powershell,如何检查AD用户的组成员身份

时间:2011-02-10 23:27:12

标签: powershell active-directory powershell-v2.0

我想检查某些OU中的用户是否是来自其他特定OU的组(以及哪些组)的成员。 我怎样才能做到这一点 ?

实施例: 我有三个OU用户(users1OU,users2OU,users3OU)和两个用于各种grup的OU(grups1OU,groups2OU)。

现在我想知道来自OU users1OU的用户,来自OU groups2OU的成员,他们是。

我正在使用powershell 2.0并赢得2008年。

1 个答案:

答案 0 :(得分:3)

使用RSAT工具中的activedirectory模块:

 Import-Module activedirectory

 $memb = @{}
 foreach ($group in get-adgroup -searchbase "ou=groups2OU,dc=domain,dc=tld" -filter *){
 get-adgroupmember $group |? {$_.distinguishedname -like "*ou=users1OU,*"}|
 %{$memb[$_.name] += @($group.name)
 }
}
$memb

枚举groups2OU中的组,获取组成员并使用distinguishedname过滤users1OU中的组。使用用户名作为键创建哈希表,并累积组名称集合作为值。

完成后,循环遍历哈希表键,并以您想要的任何报告格式输出用户名(键)和组成员身份(值)。