Cómo encontrar el último momento de inicio de sesión de los usuarios de Active Directory (Usando ADUC)

Cómo encontrar el tiempo de último inicio de sesión de los usuarios en Active Directory (Usando ADUC). Active Directory es un componente central de muchas redes basadas en Windows y sirve como una base de datos de usuarios, grupos y computadoras que los administradores de sistemas gestionan. Una tarea crucial para los administradores del sistema es identificar las cuentas de usuarios inactivos en Active Directory y eliminarlas para mejorar la seguridad y reducir el desorden en el directorio. Para lograr esto, los administradores necesitan encontrar el último tiempo de inicio de sesión de un usuario en Active Directory.Existen varios métodos para lograr esto, incluyendo la consola de Usuarios y Equipos de Active Directory, consultas LDAP y comandos PowerShell. En este tema, examinaremos estos métodos con más detalle y mostraremos cómo los administradores del sistema pueden encontrar fácilmente el último tiempo de inicio de sesión de un usuario en Active Directory.

Existen varios métodos para lograr esto, incluyendo la consola Active Directory Users and Computers, consultas LDAP y comandos de PowerShell. En este tema, profundizamos en estos métodos y mostramos cómo los administradores de sistemas pueden encontrar fácilmente la última vez que un usuario inició sesión en Active Directory.

¿Continuamos con el artículo Cómo encontrar la última vez que un usuario de Active Directory inició sesión (Usando ADUC).

Cómo encontrar la última vez que un usuario de Active Directory inició sesión (Usando ADUC)

Para determinar la última vez que un usuario dominio inició sesión, utilizamos el Active Directory Users and Computers (ADUC) consola gráfica. Aquí hay cómo:

  1. Inicie la consola dsa.msc.
  2. Seleccione Ver > Características Avanzadas en el menú superior para habilitar esta opción.

3. Localice al usuario en el árbol AD y acceda a sus propiedades.
4. Haga clic en la pestaña Editor de Atributos.
5. Busque el atributo último inicio de sesión en la lista de atributos, que muestra la hora de inicio de sesión más reciente del dominio del usuario.

Nota. Los lastLogon lastLogonTimestamp características en la captura de pantalla anterior son comparables. Entonces, ¿qué los distingue entre sí?

Atributos de marca de tiempo de inicio de sesión

  • Cuando un usuario inicia sesión en un dominio, el lastLogon se cambia el atributo. Sin embargo, solo modifica el controlador de dominio que proporcionó a otros controladores de dominio la autenticación del usuario no replicado. Como resultado, debemos verificar este atributo en cada controlador de dominio, si varios controladores de dominio están distribuidos en diferentes sitios de Active Directory y subredes. Luego debemos comparar la información obtenida. El valor de este atributo para un usuario en varios DCs puede variar o incluso ser cero (si el usuario es un usuario no autenticado en este DC);
  • Cuando un usuario inicia sesión en un controlador de dominio, el lastLogonTimeStamp atributo también se modifica y lo replicamos en otros DCs. Sin embargo, lleva un tiempo replicar esta propiedad (solo la reproducimos si el valor actual es catorce (14) días o más antiguo que el anterior). Como resultado, la información en este atributo para un DC en particular podría necesitar ser más relevante.

A partir del Windows Server 2008 versión de esquema de AD (AD Schema objectVersion = 44), utilizamos múltiples atributos alternativos relacionados con el inicio de sesión. Estos incluyen:

  • msDS-LastFailedInteractiveLogonTime: muestra la hora de la última intento de inicio de sesión fallido.
  • msDS-LastSuccessfulInteractiveLogonTime: muestra la hora del último intento de inicio de sesión exitoso. Es fundamental verificar la versión del esquema de AD para determinar si es necesario actualizar el esquema de Active Directory.

Estas propiedades, que utilizamos para realizar un seguimiento de los intentos de inicio de sesión interactivos de los usuarios, a menudo se duplican entre controladores de dominio de AD. Sin embargo, no recopilan automáticamente ninguna información sobre las preferencias de usuario.

Prueba nuestras herramientas de informes y auditoría de Active Directory & Office 365

Pruébanos de gratis. Cientos de plantillas de informes disponibles. Personaliza fácilmente tus propios informes en AD, Azure AD & Office 355.




Habilitar propiedades de inicio de sesión mediante Directiva de grupo

Para hacer estas características disponibles:

  1. Activa la configuración de objeto de directiva de grupo (GPO) “Proporcionar información sobre inicios de sesión anteriores a computadoras cliente para controladores de dominio” ubicada en Configuración de equipo > Plantillas administrativas > Sistema > KDC.
  2. Crea un GPO con este parámetro.
  3. Asigna el GPO al contenedor de Controladores de Dominio.

Para generar una lista de usuarios que no han iniciado sesión en el dominio desde hace un tiempo utilizando una consulta LDAP en la consola gráfica de Active Directory, sigue estos pasos:

  1. Convierte la fecha deseada al formato ToFileTime. Por ejemplo, si queremos encontrar a los usuarios que no han iniciado sesión en más de 90 días, utilizamos el comando de PowerShell para obtener el valor de la fecha:
(Get-Date).AddDays(-90).ToFileTime()

Este fragmento de código proporciona un valor en tiempo de época como 132988354159396418 en función de la fecha especificada.

2. Inserta el valor de FileTimeDate en la consulta LDAP:

console.log( 'Code is Poetry' );

3. Abra la consola de Usuarios y Equipos de AD, haga clic derecho en el nodo Saved Queries, y haga clic en New, luego en Query.

4. Nombre la consulta y haga clic en el botón Define Query.
5.
Elija Custom Search en la lista desplegable y cambie a la pestaña Advanced.
6. Copie la consulta LDAP en el campo Enter LDAP Query.

7. Guarde la consulta haciendo clic en OK y luego confirme con otro OK.
8. Seleccione la consulta en Saved Queries y presione F5 para actualizar la lista de objetos. La consola ADUC muestra una lista plana de usuarios que last logged en el dominio por más de 90 días.

9. Elimine o deshabilite las cuentas de usuario de dominio inactivas directamente desde la consola AD.

Encuentre la Hora de Último Inicio de Sesión Usando CMD

A continuación, con el artículo “Cómo encontrar la última hora de inicio de sesión de los usuarios de Active Directory (Usando ADUC)” es aprender cómo encontrar la última hora de inicio de sesión usando CMS. Usando las herramientas net o dsquery desde la línea de comandos, podemos descubrir cuándo el usuario inició sesión por última vez en el dominio. Por ejemplo, ejecute el siguiente comando dentro de una terminal de símbolo del sistema (no requerimos derechos de administrador de dominio para obtener información de usuario de AD):

net user administrator /domain | findstr "Last"

Si queremos obtener la última hora de inicio de sesión de un usuario local, debemos eliminar el /domain parámetro:

net user User | findstr "Last"

También obtenemos la última hora de inicio de sesión usando dsquery. Por ejemplo:

dsquery * domainroot -filter "(&(objectCategory=Person)(objectClass=User)(sAMAccountName=admin))" -attr distinguishedName lastLogon lastLogonTimestamp -limit 0

El principal problema es que los atributos lastLogonTimestamp y lastLogon están en formato de marca de tiempo en AD, y necesitamos convertirlos a un formato de hora normal.

Usamos este comando para encontrar todos los usuarios inactivos, por ejemplo, durante 10 semanas:

dsquery user domainroot -inactive 10

Encontrar la Hora del Último Inicio de Sesión Usando PowerShell

También utilizamos PowerShell para obtener la hora del último inicio de sesión de dominio del usuario. Para ello, necesitamos usar el módulo de Active Directory de PowerShell y comandos de PowerShell . Primero, abra PowerShell y ejecute el cmdlet Import-Module para importar el módulo Active Directory:

Import-Module ActiveDirectory

También lea Herramienta de Informe de Inicio y Cierre de Sesión de Usuario de Active Directory (Filtro Avanzado)Encontrar los Usuarios Inactivos Dentro de una Cantidad Específica de Días

Get-ADUser -Identity username -Properties LastLogon | Select-Object -Property Name, LastLogon

Para encontrar cuentas que no han iniciado sesión durante una cantidad específica de días, como 90 días, utilizamos un comando de PowerShell que filtra las cuentas de usuario basándose en su atributo de Último Inicio de Sesión. Aquí hay un ejemplo de comando:

Get-ADUser -Filter {Name -eq "username"} -Properties * |
Select-Object Name, @{N='LastLogon'; E={[DateTime]::FromFileTime($_.LastLogon)}}

Este comando busca cuentas que han estado inactivas durante 90 días o más y selecciona solo aquellas que son cuentas de usuario. Luego muestra los nombres de esas cuentas de usuario y el valor de su atributo de Último Inicio de Sesión, que representa la última vez que el usuario inició sesión en el dominio.Ajustamos el parámetro de Intervalo de Tiempo para buscar cuentas que han estado inactivas durante un número diferente de días. Por ejemplo, si queremos buscar cuentas que hayan estado inactivas durante 60 días, establecemos Intervalo de Tiempo en 60.00:00:00.Tenga en cuenta que AD actualiza el atributo de Último Inicio de Sesión después de que un usuario inicia o cierra sesión en el sistema, por lo que el valor puede ser parcialmente preciso. Además, este atributo se replica entre controladores de dominio solo cada 9-14 días de forma predeterminada, por lo que solo podemos obtener información actualizada para algunas cuentas de usuario.

Encuentra los usuarios inactivos dentro de un determinado número de días

Para encontrar cuentas que no han iniciado sesión durante un número específico de días, como 90 días, utilizamos un comando de PowerShell que filtra las cuentas de usuario en función de su atributo LastLogonTimestamp. Aquí hay un ejemplo de comando:

Search-ADAccount -AccountInactive -TimeSpan 90.00:00:00 | where {$_.ObjectClass -eq 'user'} | Select-Object Name, LastLogonTimestamp

Este comando busca cuentas que han estado inactivas durante 90 días o más y selecciona solo aquellas que son cuentas de usuario. Luego muestra los nombres de esas cuentas de usuario y su valor del atributo LastLogonTimestamp, que representa la última vez que el usuario inició sesión en el dominio.

Ajustamos el parámetro TimeSpan para buscar cuentas que han estado inactivas durante un número diferente de días. Por ejemplo, si queremos buscar cuentas que han estado inactivas durante 60 días, establecemos TimeSpan en 60.00:00:00.

Tenga en cuenta que AD actualiza el atributo LastLogonTimestamp después de que un usuario inicia sesión o cierra sesión en el sistema, por lo que el valor puede ser parcialmente preciso. Además, este atributo se replica entre controladores de dominio solo cada 9-14 días de forma predeterminada, por lo que solo podemos obtener información actualizada para algunas cuentas de usuario.

Exportar a archivo CSV

Para exportar la lista de cuentas de usuario inactivas a un archivo CSV, modificamos el comando de PowerShell proporcionado anteriormente para incluir el cmdlet Export-CSV. Aquí hay un ejemplo de comando:

Search-ADAccount -AccountInactive -TimeSpan 90.00:00:00 |
where {$_.ObjectClass -eq 'user'} |
Select-Object Name, LastLogonTimestamp |
Export-CSV C:\InactiveUsers.csv -NoTypeInformation

Este comando busca cuentas que han estado inactivas durante 90 días o más y selecciona solo aquellas que son cuentas de usuario. Luego determina las propiedades Nombre y LastLogonTimestamp de esas cuentas de usuario y las exporta a un archivo CSV ubicado en “C:\InactiveUsers.csv”.

El parámetro “-NoTypeInformation” especifica que el archivo CSV no debe incluir la información de tipo .NET para cada objeto, lo que hace que el archivo sea más fácil de leer. Después de ejecutar este comando, abrimos el archivo CSV con Excel o cualquier otra aplicación de hoja de cálculo para ver la lista de cuentas de usuario inactivas y sus marcas de tiempo de último inicio de sesión.

Gracias por leer el artículo Cómo Encontrar la Hora del Último Inicio de Sesión de los Usuarios del Directorio Activo (Usando ADUC). Concluiremos ahora. 

Conclusión de Cómo Encontrar la Hora del Último Inicio de Sesión de los Usuarios del Directorio Activo (Usando ADUC)

En conclusión, encontrar la última hora de inicio de sesión de un usuario en Active Directory es una tarea esencial para los administradores del sistema, ya que les permite identificar cuentas de usuario inactivas que se pueden desactivar o eliminar para mejorar la seguridad y reducir el desorden en el directorio. Logramos esto utilizando varios métodos, incluyendo la consola de Usuarios y Equipos de Active Directory, consultas LDAP y comandos de PowerShell.

Con las herramientas y técnicas adecuadas, los administradores del sistema encuentran rápidamente y fácilmente la última hora de inicio de sesión de un usuario en Active Directory y toman las acciones apropiadas para gestionar su directorio de manera efectiva.

Source:
https://infrasos.com/how-to-find-active-directory-users-last-logon-time-using-aduc/