Você, confiante, lembra-se do atributo lastLogon e prontamente prepara um relatorio para seu chefe. Minutos depois ele volta para sua sala, mas nem tanto saltitante, talvez até com chamas nos olhos, joga o relatorio em sua mesa, e pergunta "Por que metade de nossos computadores/usuarios nunca fizeram logon"?
Já desesperado, você confere os seus domain Controllers vê que o atributo LastLogon aparece em um DC mas não aparece nos outros! Como pode?
A resposta: Isso é por Default do Windows. este atributo NÃO É replicado. Mas calma! Nem tudo está perdido.
O atributo lastLogon não foi desenhado para prover a informação de login reais. Então, a partir do Windows Server 2003 foi introduzido o lastLogontimeStamp!! O atributo perfeito para auxiliar a localização de máquinas e usuários inativos, uma vez que, com as configurações padrão, o lastLogontimeStamp estará em média 9 a 14 dias atrás da data corrente.
NOTA:
Se você procura por um rastreamento "real-time", voce precisará pesquisar os logs de Security Events dos seus DC's
Requerimentos:
Seu domínio precisa ter o nível funcional de NO MINIMO windows 2003.
Atualizações e Replicação do lastLogontimeStamp
Antes de tudo, você precisa se familiarizar com o atributo msDSLogonTimeSyncInterval , que controla o intervalo (em dias) de quando o lastLogontimeStamp é atualizado. Se você olhar o ADSIEDIT.MSC, poderá verificar que o msDSLogonTimeSyncInterval estará como not set
Se desejar desligá-lo, basta deixar como 0 (zero).
Como saber se o lastLogontimeStamp está replicando
Para verificaar se está replicando corretamente, você pode usar o comando repadmin.exe com o swich showattr. Veja alguns exemplos abaixo:
1. Usando repadmin para verificar o valor do lastLogontimeStamp em todos os DC's para um usuário:
repadmin /showattr * (DN of the target user) /attrs:lastLogontimeStamp >lastLogontimeStamp.txt
Examplo:
repadmin /showattr * CN=user1,OU=accounting,DC=domain,dc=com /attrs:lastLogontimeStamp >lastLogontimeStamp.txt
2. Usando repadmin para fazer um dump do lastLogontimeStamp para todos os usuários de um dominio, incluindo aqueles que estão com o lastLogontimeStamp zerado:
repadmin /showattr * /subtree /filter:"(&(objectCategory=Person)(objectClass=user))" /attrs:lastLogontimeStamp >lastLogontimeStamp.txt
3. Dump lastLogonTimeStamp para todos os usuários com o atributo preenchido:
repadmin /showattr * dc=domain,dc=com /subtree /filter:"((&(lastLogontimeStamp=*)(objectCategory=Person)(objectClass=user)))" /attrs:lastLogontimeStamp > lastLogontimeStamp-2-22-2009.txt
Espero ter ajudado! Se gostou, deixe um comentário!