0

我有带有 powershell 的 2008 AD 管理中心。我正在尝试获取包含每天更改的组的 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 的所有成员?

4

2 回答 2

0

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

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

如果访问控制允许连接的授权状态,服务器将返回组列表,以及member每个组的属性,在这种情况下,如下所示ou=temp

也可以看看

于 2013-11-06T20:37:57.907 回答
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)))
于 2013-11-06T20:42:05.193 回答