列出组织单位中的所有成员组

时间:2013-11-06 20:23:09

标签: powershell active-directory ldap

我有2008年AD管理中心和powershell。我试图获取包含每日更改的组的OU的所有用户的列表。

所以例如OU Temp有两组ABC和DEF,但明天将有GHI和JFK。在AD中,我发现这个ldap搜索一次适用于一个组:

(&(objectClass=user)(memberof=CN=ABC,OU=Temp,DC=xxx,DC=yyy,DC=zzz))

但是有没有办法同时找到所有ABC,DEF,GHI或JFK组的所有成员?

2 个答案:

答案 0 :(得分:0)

使用以下参数构建搜索请求:

  • 基础对象:OU=Temp,DC=xxx,DC=yyy,DC=zzz
  • 范围:one(如果所有群组都属于ou=temp的一级,否则为sub
  • 过滤器:(&)(某些损坏的服务器和API不支持此合法过滤器,如果是,请改用(objectClass=*)
  • 请求的属性:member

如果访问控制允许连接的授权状态,则服务器将返回组列表,以及每个组的member属性,在本例中为{{1}以下}。

另见

答案 1 :(得分:0)

这对你有用吗?

$Groups = 'ABC','DEF','GHI','JFK'

$group_query = 
 $(foreach ($group in $groups){
 "(memberof=CN=$Group,OU=Temp,DC=xxx,DC=yyy,DC=zzz)"
 }) -Join ''

$Query = "(&(objectClass=user)(|$Group_Query))"

$query

(&(objectClass=user)(|(memberof=CN=ABC,OU=Temp,DC=xxx,DC=yyy,DC=zzz)(memberof=CN=DEF,OU=Temp,DC=xxx,DC=yyy,DC=zzz)(memberof=CN=GHI,OU=Temp,DC=xxx,DC=yyy,DC=zzz)(memberof=CN=JFK,OU=Temp,DC=xxx,DC=yyy,DC=zzz)))