Comando w3tm – sincronização de horário

Neste post apresentarei a sintaxe do comando w32tm usado para a sincronização de horários em redes Windows.

Os computadores membros do domínio em uma rede Windows via de regra são configuradas para sincronizar seu horário com um servidor NTP. Quem desempenha este papel é o controlador de domínio primários que, por sua vez, sincroniza seu próprio horário com uma fonte de dados externa.

Isto é feito, entre outros motivos, por questões de segurança para que protocolos como o Kerberos, que fazem checagem de horário dos tickets, possam gerenciar de forma adequada o acesso aos recursos da rede e barrar tentativa de invasão usando tickets expirados.

Devido a isto algumas ocasiões em que ocorre uma diferença de horário entre as estações e os servidores, ou dos servidores entre si, podem ocasionar problemas de segurança que impedem o acesso a determinados recursos de rede, como por exemplo compartilhamento de arquivos.

Esta falta de sincronismo entre o horário dos equipamentos costumava ocorrer bastante na época em que vigorava o horário de verão. Contudo, mesmo agora com o fim do horário de verão, podem existir diferenças de horário devido a falhas no sincronismo ocasionadas por outros motivos, entre eles defeito no próprio hardware.




Diagnóstico difícil

Um dos problemas desta falta de sincronia é que ela se confunde com problemas no permissionamento pois as mensagens de erro relacionadas com o problema costumam ser do tipo “Não é possível acessar”, “Recurso indisponível” e outras que não fornecem uma indicação mais clara, tornando um pouco mais difícil identificar que o horário dos equipamentos está fora de sincronia.

Comando w32tm

Felizmente existe no sistema Windows um comando que permite consultar o estado da sincronização entre as estações e o servidor NTP que atua como a fonte de horário. Trata-se do comando w32tm.

Consultar o servidor fonte

O primeiro passo para checar se o horário de uma estação está sincronizado é determinar qual o servidor fonte de horário, para isto acione, como Administrador, o prompt de comando e digite o comando abaixo:

w32tm /query /source

O resultado deverá ser uma linha contendo o nome do servidor fonte de sincronização semelhante a figura abaixo:

Verificar a estação

Agora para checar o status do horário da estação digite o comando abaixo:

w32tm /query /computer:nome_estacao /status

A saída do comando deverá ser semelhante a figura abaixo:

Ressincronizando a estação

Caso haja uma diferença muito grande entre o horário de uma estação e o do servidor fonte podemos acionar a ressincronização digitando o comando abaixo:

w32tm /resync /computer:nome_estacao

Isto fará com que a estação de trabalho faça, assim que possível, a ressincronização do horário e que elimine, caso existam, as estatísticas de erro acumuladas.

Para saber mais

Um excelente artigo descrevendo detalhes do funcionamento do serviço de Horário do Windows pode ser encontrado nos link abaixo (ambos em inglês):

How the Windows Time Service works
w32tm – Reference

Artigos relacionados deste blog:

Comando qwinsta – descobrir qual usuário está logado na estação Windows