Nuestro team de especialistas luego de ciertos días de trabajo y recopilación de de datos, hallamos la solución, queremos que resulte útil para ti para tu proyecto.
Solución:
Solución 1:
Usa la más reciente attribute.
Lastlogon solo se actualiza en el controlador de dominio que realiza la autenticación y no se replica.
LastLogontimestamp se replica, pero de forma predeterminada solo si tiene 14 días o más que el valor anterior.
http://social.technet.microsoft.com/wiki/contents/articles/22461.understanding-the-ad-account-attributes-lastlogon-lastlogontimestamp-and-lastlogondate.aspx
Solución 2:
TL;DR – Si desea la hora de inicio de sesión más precisa, debe consultar el lastLogon
attribute de todos los controladores de dominio. Si una tolerancia de ±19 días es aceptable, puede simplemente leer lastLogonTimestamp
desde el controlador de dominio más cercano.
último inicio de sesión
Este attribute no se replica y se mantiene por separado en cada controlador de dominio del dominio. Para obtener un valor exacto del último inicio de sesión del usuario en el dominio, el último inicio de sesión attribute para el usuario debe recuperarse de cada controlador de dominio en el dominio. El valor más grande que se recupera es el true última hora de inicio de sesión para ese usuario.
https://docs.microsoft.com/en-us/windows/desktop/adschema/a-lastlogon#remarks
lastLogonTimestamp
Cada vez que un usuario inicia sesión, el valor de este attribute se lee desde el DC. Si el valor es mayor [ current_time –
msDS-LogonTimeSyncInterval
], el valor se actualiza. La actualización inicial después del aumento del nivel funcional del dominio se calcula como 14 días menos el porcentaje aleatorio de 5 días.
https://docs.microsoft.com/en-us/windows/desktop/adschema/a-lastlogontimestamp
Notas:
- Ambas fechas se almacenan como un
FILETIME
(Int64
en .Net/PowerShell) si los recupera mediante programación. - PowerShell también proporciona una
LastLogonDate
propiedad. Hubiera preferido proporcionar documentación específica de Microsoft para confirmar esto, pero la mayoría de las fuentes dicen y mis pruebas confirman que es ellastLogonTimestamp
convertido a l̲o̲c̲a̲l̲DateTime
valor.