我有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组的所有成员?
答案 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)))