2011-02-10 47 views
2

我想检查特定OU中的用户,如果他们是来自另一个特定OU的组(和哪些)的成员。 我该怎么做?Powershell,如何检查AD用户的组成员身份

例如: 我有三个OU用户(users1OU,users2OU,users3OU)和两个OU用于各种grups(grups1OU,groups2OU)。

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

我使用PowerShell 2.0和赢得2008年

回答

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中的那些。使用用户名作为键创建一个哈希表,并将一组组名称作为值进行累加。

完成后,循环访问散列表键,然后以您想要的任何报告格式输出用户名(键)和组成员资格(值)。

+0

非常感谢。 – Primoz 2011-02-17 21:34:17

相关问题