lastLogon vs. lastLogonTimestamp no Active Directory

9

Um funcionário deixou a empresa. Eu tento descobrir quando sua conta do AD foi conectada pela última vez - se foi antes ou depois da demissão.

Existem esses 2 atributos na janela de propriedades do usuário: lastLogon e lastLogonTimestamp . A data lastLogon é anterior à data de demissão, mas a data lastLogonTimestamp é posterior à data de demissão (portanto, nesse caso, teríamos um problema de segurança).

Como saber qual desses atributos mostra a hora real do último login da conta do AD? Qual a diferença entre eles?

propriedades do usuário - editor de atributos

ZygD
fonte

Respostas:

6

TL; DR - Se você quiser o tempo de logon mais preciso, deverá consultar o lastLogonatributo em todos os controladores de domínio. Se uma tolerância de ± 19 dias for aceitável, basta ler lastLogonTimestampno controlador de domínio mais próximo.


lastLogon

Este atributo não é replicado e é mantido separadamente em cada controlador de domínio no domínio. Para obter um valor exato para o último logon do usuário no domínio, o atributo Last-Logon do usuário deve ser recuperado de todos os controladores de domínio do domínio. O maior valor recuperado é o verdadeiro horário do último logon para esse usuário.

https://docs.microsoft.com/en-us/windows/desktop/adschema/a-lastlogon#remarks


lastLogonTimestamp

Sempre que um usuário faz logon, o valor desse atributo é lido no controlador de domínio. Se o valor for mais antigo [current_time - msDS-LogonTimeSyncInterval], o valor será atualizado. A atualização inicial após o aumento do nível funcional do domínio é calculada como 14 dias menos a porcentagem aleatória de 5 dias.

https://docs.microsoft.com/en-us/windows/desktop/adschema/a-lastlogontimestamp


Notas:

  1. Ambas as datas são armazenadas como FILETIME( Int64em .Net / PowerShell) se você as recuperar programaticamente.
  2. O PowerShell também fornece uma LastLogonDatepropriedade. Eu preferiria fornecer documentação específica da Microsoft para confirmar isso, mas a maioria das fontes afirma e meus testes confirmam que é lastLogonTimestampconvertido para um DateTimevalor de l̲o̲c̲a̲l̲ .
Drew Chapin
fonte