Active Directory - 用于查找不在一组组中的所有用户的脚本?

时间:2009-05-05 02:35:14

标签: windows scripting active-directory

我有一组10个AD组。我想要的是以编程方式找出AD域中的哪些用户不是这10个组的成员。只有一个域名。我知道在vbscript中执行ADO SQL查询是可能的,但我想知道(希望,祈祷)是否有人有一个罐装脚本?

我认为一种愚蠢的方式可能是:

  1. 转储10个组中的所有用户
  2. 转储域中的所有用户
  3. 在2个转储上运行windiff
  4. 有什么想法吗?

2 个答案:

答案 0 :(得分:3)

对于任何有兴趣的人,这都有效:

(&(objectCategory=Person)
    (&
        (!memberOf=CN=group1,dc=company,dc=local)
        (!memberOf=CN=group2,dc=company,dc=local)
        (!memberOf=CN=group3,dc=company,dc=local)
    )
)

答案 1 :(得分:1)

System.DirectoryServices提供编写LDAP查询的功能。这样的事情: (安培;!!(对象类=用户)(=的memberOf CN =组1,...)(的memberOf = CN =组2,......)(=的memberOf CN =组3,...))

我相信每个条件成员都必须明确说明。

我只是快速回答,所以我没有100%的代码向您展示。