2010-05-13 31 views
9

Estoy tratando de hacer una consulta LDAP, para obtener una lista de todos mis grupos/miembros. No puedo entender cómo puedo hacer esto. Todos mis intentos fueron infructuosos.consulta ldap para miembros del grupo

Mi "árbol de AD": mydomain.local Grupos/MYBUSINESS/Distribución/aquí están mis grupos

he tratado con algo como esto:

(objectCategory=user) 
(memberOf=CN=Distribution Groups,OU=Mybusiness,DC=mydomain.local,DC=com) 

aprecio si alguien me podría ayudar a escribir una consulta ldap, que da una lista con mis grupos y los miembros de estos grupos.

Gracias.

Respuesta

8

Active Directory no almacena la pertenencia a grupos en objetos de usuario. Solo almacena la lista de miembros en el grupo. Las herramientas muestran la pertenencia al grupo en objetos de usuario haciendo consultas para ello.

¿Qué tal:

(& (objectClass = grupo) (miembro = cn = mi, ou = completo, dc = dominio))

(Ha olvidado el &) bits (en su ejemplo en la pregunta también).

+0

im no estoy familiarizado con AD y LDAP. Intento hacer esta consulta como mencionaste, pero el resultado está vacío. ¿Qué significa ou = lleno? – Holian

+0

Reemplace el valor de broma cn = my, ou = full, dc = domain, con un DN REAL al usuario de interés en su sistema. My.Full.Domain en notación de puntos. – geoffc

12

La consulta debe ser:

(&(objectCategory=user)(memberOf=CN=Distribution Groups,OU=Mybusiness,DC=mydomain.local,DC=com)) 

se ha perdido el & y ()

+0

Si lo entiendo, esta consulta mostrará todos los miembros que tienen el mismo 'dominio' que el grupo. ¿Qué ocurre si quiero ver ** a todos los ** miembros del grupo, independientemente de 'dominio'? –

+0

@juan mellado Me temo que no te atrapé. Los grupos deben crearse bajo dominio. he aquí un ejemplo: (& (objectCategory = user) (memberOf = CN = administradores, DC = root, DC = com)) - esta consulta mostrará todos los miembros en grupos de administradores, "CN = admins, DC = root, DC = com "es el DN del grupo. – 53iScott

3

La buena manera de obtener todos los miembros de un grupo es, hacer que el DN del grupo como elDNDN de búsqueda y pase el "miembro" como atributo para entrar en la función de búsqueda. Ahora se puede encontrar a todos los miembros del grupo revisando los valores de los atributos devueltos por la búsqueda. El filtro puede hacerse genérico como (objectclass = *).

+1

Solo funciona con grupos pequeños con menos de 1,500 miembros. – jwilleke

+0

Para elaborar sobre el comentario de jwilleke, AD no enumerará más de 1500 (1000 en versiones anteriores) componentes de un atributo multivaluado como 'miembro', sin embargo, por supuesto, muchos grupos AD tienen muchos más miembros que eso. AD admite [recuperación a distancia] (https://msdn.microsoft.com/en-us/library/Aa367017) para obtener todos los atributos de grupos de AD con> 1500 (o 1000) miembros. – sigint

Cuestiones relacionadas