Saltar al contenido

Nombre completo del nombre de usuario de Windows (en dominio) usando Python

Solución:

La forma más directa de hacer esto es consultar Active Directory. Realizaría una búsqueda en el usuario, seguida de obtener el displayName atributo. (Esto se asigna al Full Name mostrado en Windows.)


Tienes dos opciones aquí:

Usando una biblioteca de Python AD, por ejemplo, pyad

Esto es muy específico de Windows y requiere pywin32 Biblioteca. Se basa en las API de ADSI, por lo que solo funcionará en Windows.

from pyad import aduser
user = aduser.ADUser.from_cn(username)
print user.get_attribute("displayName")

La forma de obtener el nombre de usuario depende de usted. Puedes usar getpass.getuser(), os.environ["USERNAME"] (Solo Windows), etc.

Usando una biblioteca LDAP de Python, por ejemplo, ldap3

Esto sigue el protocolo LDAP estándar, con una implementación pura de Python, por lo que debería funcionar desde cualquier sistema operativo cliente.

El uso de consultas LDAP sin procesar es bastante más complicado que las abstracciones ADSI. Le sugiero que lea la documentación (que tiene tutoriales decentes) y busque más tutoriales sobre cómo interactuar con Microsoft AD a través de ldap3.


Tenga en cuenta que un posible problema es que la búsqueda solo por nombre de usuario (CN) podría obtener el objeto incorrecto. Es posible tener varios objetos con el mismo CN en varias OU. Si desea ser más preciso, es posible que desee utilizar un identificador único como el SID.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *