Cómo encontrar la hora del último inicio de sesión del usuario/computadora en Active Directory – TrucosInformaticos

General

La última vez que un usuario o computadora inició sesión en un dominio almacenado en atributos de objeto de Active Directory. Para averiguar la hora del último inicio de sesión para cuentas de computadora o de usuario de AD, existen varias herramientas que un administrador puede usar.

Cómo verificar la fecha del último inicio de sesión del usuario/computadora en Active Directory

Cuando un usuario o computadora inicia sesión en un dominio, la hora de inicio de sesión se escribe en el último inicio de sesión y lastLogonTimestamp atributos del objeto AD correspondiente. ¿Cuáles son las diferencias entre estos atributos?

  • El último inicio de sesión El valor del atributo se actualiza cuando la cuenta inicia sesión interactivamente en AD en el controlador de dominio utilizado para la autenticación (%logonserver%). No se replica entre controladores de dominio, lo que significa que cada controlador de dominio puede tener un valor diferente para este atributo.
  • El lastLogonTimestamp El atributo es un análogo del atributo lastLogon, pero a diferencia de lastLogon, se replica en otros controladores de dominio en AD. Para minimizar el tráfico de replicación en AD, el valor de este atributo se replica por hasta 14 días.

Esto significa que para obtener información en tiempo real sobre cuándo una cuenta inició sesión por última vez en AD, debe obtener la último inicio de sesión valor del atributo. Sin embargo, esto requiere que consulte todos los controladores de dominio del bosque.

Si considera aceptable una tolerancia de ±19 días, simplemente puede obtener el lastLogonTimestamp del controlador de dominio más cercano. Por lo tanto, en la mayoría de los casos, el lastLogonTimestamp El atributo se utiliza para determinar la hora del último inicio de sesión del usuario, lo que proporciona una actividad de inicio de sesión algo desactualizada pero consistente en todos los controladores de dominio.

Puede utilizar el complemento Usuarios y computadoras de Active Directory (ADUC) (requiere instalación de RSAT) para verificar la última vez que un usuario o computadora inició sesión.

  1. Prensa GANAR+R y correr dsa.msc para abrir la consola ADUC
  2. Hacer clic Ver → Funciones avanzadas. Este paso permite al Editor de atributos pestaña en ADUC.
    cómo encontrar la última computadora que inició sesión el usuario en Active Directory PowerShell
  3. Localice el usuario o computadora y abra sus propiedades.
    último usuario de inicio de sesión de PowerShell en la computadora
  4. Ir al Editor de atributos pestaña y busque el último inicio de sesión y últimoLogOnTimeStamp atributos.
    script de PowerShell para obtener el último usuario que inició sesión en la computadora

Obtenga la fecha y hora del último inicio de sesión de un usuario o computadora de AD usando PowerShell

Es más conveniente utilizar PowerShell para obtener la hora del último inicio de sesión del usuario en el dominio. Para eso, use el cmdlet Get-ADUser del módulo PowerShell Active Directory.

Por ejemplo, para averiguar la hora del último inicio de sesión de una cuenta de usuario de dominio específica:

Get-ADUser -Identity ebrown -Properties LastLogon, LastLogonTimestamp

último inicio de sesión computadora directorio activo powershell

Para convertir el valor de lastlogon del formato de marca de tiempo a un formato legible por humanos, use el siguiente comando:

Get-ADUser -Identity ebrown -Properties LastLogon, LastLogonTimestamp |

Select-Object SamAccountName, Name,

@{n = 'LastLogon'; e = { [DateTime]::FromFileTime($_.LastLogon) } },

@{n = 'LastLogonTimeStamp'; e = { [DateTime]::FromFileTime($_.LastLogonTimeStamp) } }

último usuario que inició sesión en la computadora directorio activo powershell

Nota. El valor de lastlogontimestamp estará vacío si el usuario o la computadora nunca ha iniciado sesión en el dominio AD. El valor de LastLogon para dicha cuenta es siempre 31/12/1600 4:00:00 p.m.

anuncio computadora último inicio de sesión

Para ver la hora del último inicio de sesión para una computadora del dominio, cambie el cmdlet a Obtener-ADComputadora.

Get-ADComputer -Identity DB1 -Properties LastLogonTimestamp |

Select-Object SamAccountName, Name, @{n = 'LastLogonTimeStamp'; e = { [DateTime]::FromFileTime($_.LastLogonTimeStamp) } }

directorio activo último inicio de sesión en la computadora

Para buscar usuarios inactivos y computadoras que no han iniciado sesión en un dominio durante más de 90 días, use la canalización de PowerShell:

$oldest = (Get-Date).AddDays(-90)

Get-ADUser -Filter { LastLogonTimeStamp -lt $oldest } -Properties LastLogonTimestamp |
Select-Object SamAccountName, Name,
@{n = ‘LastLogonTimeStamp’; e = { [DateTime]::FromFileTime($_.LastLogonTimeStamp) } }

último inicio de sesión en la computadora del directorio activo

Para obtener la misma información para las computadoras del dominio, reemplace el Obtener-ADUser cmdlet con el Obtener-ADComputadora cmdlet.

Get-ADComputer -Filter { LastLogonTimeStamp -lt $oldest } -Properties LastLogonTimestamp |

Select-Object SamAccountName, Name,

@{n = 'LastLogonTimeStamp'; e = { [DateTime]::FromFileTime($_.LastLogonTimeStamp) } }

PowerShell último inicio de sesión en la computadora

Para consultar todos los DC en AD para obtener la corriente Último inicio de sesión valor para una cuenta específica, utilice el script de PowerShell. Copie el siguiente script y guárdelo como Get-ADUserLastLogOnTime.ps1 en tu computadora. También puedes descargar este script desde este Esencia.

# Get-ADUserLastLogOnTime.ps1

[CmdletBinding()]
param (
[Parameter()]
[String]
$LogonName
)

Import-Module ActiveDirectory

$DCs = (Get-ADDomainController -Filter *).Name

$result = New-Object System.Collections.Generic.List[object]

foreach ($dc in $DCs) {
# “Querying DC: [$($dc)]” | Out-Default
try {
if ($aduser = Get-ADUser $LogonName -Server $dc -Properties lastlogon -ErrorAction Stop) {
$result.Add(
($aduser |
Select-Object SamAccountName, Name,
@{n = ‘DC’; e = { $dc } },
@{n = ‘LastLogon’; e = { [DateTime]::FromFileTime($_.LastLogon) } })
)
}
}
catch {
$_.Exception.Message | Out-Default
}
}
return $result

Este script de PowerShell recupera el último inicio de sesión (último inicio de sesión) de una cuenta de usuario de Active Directory (AD) de todos los controladores de dominio. Acepta un parámetro, $Nombre de inicio de sesiónque debería ser el nombre de usuario (SamNombreDeCuenta) del usuario del que desea recuperar la hora del último inicio de sesión.

.\Get-ADUserLastLogOnTime.ps1 -LogonName USERNAME

último inicio de sesión de la computadora powershell

Pista. También puede utilizar el comando NET USER integrado para encontrar rápidamente la hora del último inicio de sesión de un usuario de dominio:

net user ebrown /domain| findstr "Last"

script de PowerShell para obtener el último usuario que inició sesión en la computadora en el anuncio

Valora este post

Deja una respuesta

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