【问题标题】:Listing all members group in a organizational unit列出组织单位中的所有成员组
【发布时间】:2013-11-06 20:23:08
【问题描述】:

我有带有 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 的所有成员?

【问题讨论】:

    标签: powershell active-directory ldap


    【解决方案1】:

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

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

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

    另见

    【讨论】:

      【解决方案2】:

      这对你有用吗?

      $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)))
      

      【讨论】:

        猜你喜欢
        • 2021-10-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-07-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多