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# Comienza Funcion
def obtenerDN(nombre):
base = "ou=Usuarios, dc=ironbox, dc=local"
criteria = "(&(objectClass=user)(sAMAccountName=*%s*))" % nombre
attributes = ['CN']
result = l.search_s(base, ldap.SCOPE_SUBTREE, criteria, attributes)
results = [entry for dn, entry in result if isinstance(entry, dict)]
print results
# Fin de Funcion
Ahi le paso, el usuario...completo...
Código Python:
Ver original# Agrego el CN a la direccion DN.
user_dn = 'CN=%s,OU=Usuarios,DC=ironbox,DC=local' % nombre
Código Python:
Ver originaldef habilitarUsuarioAD(user_dn):
ATTR = "userAccountControl"
ATT_VALUE = "514"
userAccountControl = [(ldap.MOD_REPLACE, ATTR, [ATT_VALUE])]
try:
l.modify_s(user_dn, userAccountControl)
print "Cuenta Habilitada"
except ldap.LDAPError, e:
sys.stderr.write('Error mientras Intentaba Habilitar \n')
sys.stderr.write('Message: ' + str(e) + '\n')
# 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!