martes, 31 de agosto de 2010

Usuarios inactivos

Constantemente entran nuevos usuarios en la organización, y otros son dados de baja. Si los procedimientos están bien realizados, quien maneja el Active Directory tiene acceso a esa información en tiempo y forma, lo que permite deshabilitar cuentas de usuarios que ya no se utilizan.
La realidad es que existen muchos casos en donde esto no sucede, y muchas cuentas de usuario están habilitadas aunque no se hayan estado utilizando durante algún tiempo. Las causas pueden ser las siguientes:

a) Recursos Humanos no avisa de las renuncias o despidos.
b) Los usuarios se ausentan por largos períodos (Licencias por vacaciones, accidentes de trabajo, maternidad).
c) Cuentas de servicio que no se utilizan más.

Hay una forma simple de ver qué cuentas no se han estado utilizando desde hace algún tiempo.

dsquery user -inactive 2 -limit 0

Ejecutando ese comando, podemos ver qué usuarios no han registrado actividad las últimas dos semanas, el limite indica la cantidad de resultados que queremos ver, donde cero significa "sin límite".
Podemos ejecutar este comando utilizando pipes para combinarlo con otros y realizar alguna acción. O enviarlo a un archivo de texto con >

Para pasar la información a un archivo de texto:
dsquery user -inactive 2 -limit 0 > c:\Users\edeleo\Desktop\Users.txt

Para mover los usuarios inactivos a otra OU:
dsquery user -inactive 2 -limit 0 dsmove -newparent "OU=Para borrar,DC=Labemd,DC= NET"

Para deshabilitar a los usuarios inactivos:
dsquery user -inactive 2 -limit 0 dsmod user -disabled yes

Para borrar usuarios de cierta OU:
dsquery user "OU=Para borrar,DC=Labemd,DC= NET" dsrm

Las combinaciones son muchas y no están limitadas a estos ejemplos. También es muy útil utilizar "dsquery computer" para buscar equipos inactivos que no cambiaron su password o que tienen cuentas deshabilitadas, como se muestra en el ejemplo:

dsquery computer -disabled

En otro artículo de este blog, se muestra cómo buscar PCs deshabilitadas, utilizando "Active Directory user and Computers". La ventaja de utilizar herramientas de línea de comando en lugar de interface gráfica es la posibilidad de automatizar la tarea. De esta manera podemos crear una tarea para todos los viernes a las 18:30 en donde se muevan equipos de OU, se deshabiliten usuarios o cualquier otra cosa que necesitemos.

Para aprender más...
Dsquery en Techenet