Ver Mensaje Individual
  #3 (permalink)  
Antiguo 25/01/2016, 14:02
safernandez666
 
Fecha de Ingreso: julio-2013
Mensajes: 19
Antigüedad: 10 años, 10 meses
Puntos: 2
Respuesta: Conexion a Active Directory - Query LDAP

Gracias razpeitia!

Consegui, lo que queria. En esta funcion, paso como parametro de busqueda el nombre de usuario y me devuelce el CN para luego completarlo para la segunda funcion, que detallo abajo!

Código Python:
Ver original
  1. # Comienza Funcion
  2. def obtenerDN(nombre):
  3.     base = "ou=Usuarios, dc=ironbox, dc=local"
  4.     criteria = "(&(objectClass=user)(sAMAccountName=*%s*))" % nombre
  5.     attributes = ['CN']
  6.     result = l.search_s(base, ldap.SCOPE_SUBTREE, criteria, attributes)
  7.     results = [entry for dn, entry in result if isinstance(entry, dict)]
  8.     print results
  9. # Fin de Funcion

Ahi le paso, el usuario...completo...

Código Python:
Ver original
  1. # Agrego el CN a la direccion DN.
  2. user_dn = 'CN=%s,OU=Usuarios,DC=ironbox,DC=local' % nombre

Código Python:
Ver original
  1. def habilitarUsuarioAD(user_dn):
  2.     ATTR = "userAccountControl"
  3.     ATT_VALUE = "514"
  4.     userAccountControl = [(ldap.MOD_REPLACE, ATTR, [ATT_VALUE])]
  5.     try:
  6.         l.modify_s(user_dn, userAccountControl)
  7.         print "Cuenta Habilitada"
  8.     except ldap.LDAPError, e:
  9.         sys.stderr.write('Error mientras Intentaba Habilitar \n')
  10.         sys.stderr.write('Message: ' + str(e) + '\n')
  11. # Fin de Funcion

El problema, que tengo es que entrega...Estoy recibiendo, de la primer funcion, [{'cn': ['nombre del usuario']}.

Tengo que hacer un grep? Se que en python podría pasarlo por alguna función...para solo sacar el nombre de usuario...estoy viendo eso!

Gracias por las lecturas!