Búsqueda de sitios web

Dsquery Obtener el último inicio de sesión del usuario


La herramienta de línea de comandos dsquery se utiliza para buscar los objetos en el directorio activo según los criterios de búsqueda especificados mediante la consulta LDAP.

Utilice dsquery con el parámetro de filtro para obtener el último inicio de sesión del usuario en la computadora en el directorio activo.

La marca de tiempo del último inicio de sesión es la hora en que el usuario inició sesión por última vez en el dominio. El valor de la marca de tiempo del último inicio de sesión del usuario se almacena como un número entero grande en el controlador de dominio (DC). Este valor de marca de tiempo de fecha representa el número de intervalos de 100 nanosegundos desde el 1 de enero de 1601 (UTC).

Utilice la consulta LDAP en el formato de filtro de búsqueda LDAP para especificar el parámetro -filter para recuperar el último inicio de sesión y la marca de tiempo del último inicio de sesión del usuario.

En este tutorial, aprenderemos cómo usar dsquery para obtener el último inicio de sesión del usuario y la marca de tiempo del último inicio de sesión en PowerShell.

Usando dsquery para obtener el último inicio de sesión del usuario

Utilice la herramienta de línea de comandos dsquery para buscar cualquier objeto y sus atributos como lastlogon y lastlogontimestamp en el directorio activo según los criterios de búsqueda.

dsquery * -filter "samaccountname=admin" -attr samaccountname lastlogon

En la consulta anterior, para obtener el último inicio de sesión del usuario en la computadora, hemos especificado el criterio de búsqueda en el parámetro de filtro como "samaccountname=admin".

Usando el comando dsquery *, encuentra el último inicio de sesión del usuario y usando el parámetro -attr para mostrar el nombre de los atributos, muestra los atributos samaccountname y el último inicio de sesión del usuario.

El resultado del dsquery anterior para obtener el último inicio de sesión del usuario es:

Cuando el usuario iniciaba sesión en el dominio, almacenaba su valor de último inicio de sesión como un número entero grande y no en un formato legible por humanos.

Para convertir lastlogon hasta la fecha, hemos utilizado la herramienta w32tm.exe con /ntte que convierte una hora del Protocolo de hora de red (NTP) a un formato legible.

Consejo interesante: ¡Diferencia entre lastlogon y lastlogontimestamp en Active Directory!

Encuentre el usuario lastlogontimestamp usando dsquery

El controlador de dominio (DC) verifica el valor del atributo lastlogontimestamp del usuario cuando el usuario inicia sesión en el dominio. El valor de LastLogonTimestamp se replica de forma predeterminada si su valor tiene 14 días o más que el valor anterior.

Usando la herramienta de línea de comandos dsquery, podemos recuperar el atributo lastlogontimestamp del usuario.

dsquery * -filter "samaccountname=admin" -attr samaccountname lastlogon lastlogontimestamp

En el script de PowerShell anterior, dsquery usa un parámetro de filtro para especificar los criterios de búsqueda para buscar un usuario y obtener sus listas de atributos como samaccountname, lastlogon y lastlogontimestamp del usuario.

El resultado de la consulta anterior para encontrar el usuario lastlogontimestamp usando dsquery es:

PS C:\Windows\system32> dsquery * -filter "samaccountname=admin" -attr samaccountname lastlogon lastlogontimestamp
  samaccountname    lastlogon             lastlogontimestamp
     admin          132970610281096251    132968489843663168

Utilice la herramienta de línea de comandos w32tm.exe con el parámetro /ntte para convertir el lastlogontimestamp del usuario a DateTime (formato legible por humanos).

PS C:\Windows\system32> w32tm.exe /ntte 132970610281096251
153901 04:03:48.1096251 - 5/15/2022 4:03:48 AM

PS C:\Windows\system32> w32tm.exe /ntte 132968489843663168
153898 17:09:44.3663168 - 5/12/2022 5:09:44 PM

Conclusión

Espero que el artículo anterior sobre cómo usar dsquery para obtener el usuario lastlogon y el usuario lastlogontimestamp le resulte útil.

Utilice la herramienta de línea de comandos w32tm.exe /ntte para convertir lastlogon y lastlogontimestamp al formato de fecha (formato legible por humanos).

Puede encontrar más temas sobre los comandos de PowerShell Active Directory y los conceptos básicos de PowerShell en la página de inicio de ShellGeek.

Artículos relacionados