quinta-feira, 12 de abril de 2012

Como funciona o atributo "LastLogonTimeStamp"

Seu chefe chega em sua sala, todo pirilampo e saltitante e diz que chegou a hora de fazer uma limpeza de sua base do Active Directory, e todos os computadores e usuários inativos por mais de 90 dias devem ser eliminados.

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, mas não se assuste. O not set indica o padrão de 14 dias.

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!

Nenhum comentário:

Postar um comentário