Sincronize automaticamente o tempo do Windows com mais frequência do que o padrão

21

Eu tenho alguns PCs que estão perdendo tempo e gostaria que o Windows os sincronizasse com mais frequência com o tempo da Internet. Eu acho que o padrão do Windows tenta atualizar apenas uma vez por dia e não é atualizado se o servidor de horário não estiver disponível (o que parece acontecer com bastante frequência), o que significa que os PCs podem terminar em 20 ou 30 segundos.

Gostaria de criar uma tarefa agendada para fazer isso, digamos a cada 5 minutos e, se o servidor de horário padrão não estiver disponível, use mul

DermFrench
fonte
2
Não seria mais fácil determinar o motivo pelo qual os computadores em questão não podem se conectar ao servidor de horário?
Ramhound
Os servidores padrão também me falham com frequência. Tente alterá-lo pool.ntp.orgcomo sugerido nesta resposta
jan-glx:

Respostas:

14

Pessoal, eu consegui rodar com o Windows embutido no w32tm e uma tarefa agendada (veja abaixo).

O primeiro passo foi configurar o w32tm para usar muitos servidores de horário diferentes (e também para registrar para que pudéssemos ver o que estava acontecendo). O segundo passo foi agendar o w32tm no agendador de tarefas. Gostei dessas soluções, pois não exigiam ferramentas de terceiros. É realmente importante configurar os diferentes servidores de horário, pois muitas vezes eles não respondem.

Configurar o w32tm

Abrir prompt de comando (execute o seguinte como administrador)

w32tm /config /manualpeerlist:"time.nist.gov time.windows.com time-nw.nist.gov time-a.nist.gov time-b.nist.gov time-a.timefreq.bldrdoc.gov time-b.timefreq.bldrdoc.gov time-c.timefreq.bldrdoc.gov utcnist.colorado.edu" /syncfromflags:manual /update

w32tm /query /configuration

Verifique se a lista de servidores NTP está atualizada corretamente, ou seja, reflete a lista de pares que você acabou de inserir

w32tm /debug /enable /file:C:\windows\temp\w32time.log /size:10000000 /entries:300

Navegue até o diretório e verifique se o log foi criado

Altere a hora do sistema manualmente (para que a hora esteja fora de sincronia), volte ao prompt de comandos e execute o comando resync

w32tm /resync

Verifique se a hora do sistema foi atualizada. ** Se você receber um erro sobre o horário em que o serviço não está sendo iniciado, use o comando net start w32timee tente outra ressincronização

Se você receber o seguinte erro: The compter did not resync because the required time change was too big.use este comando para ressincronizar:w32tm /resync /force

Se isso funcionar com êxito, tudo o que você precisa fazer é configurar a seguinte tarefa agendada para ser executada quantas vezes quiser (ele usará sua lista de pares configurada acima).

Schedule w32tm

Argumento do programa / script

%windir%\system32\sc.exe start w32time task_started
%windir%\system32\w32tm.exe /resync
DermFrench
fonte
1
Por padrão, o Horário do Windows recebe um horário atualizado pelo menos a cada 9,1 horas . Isso é controlado pela MaxPollIntervalentrada do registro discutida nesse link. Os dados desta entrada são convertidos para segundos com a fórmula 2^Value. Por exemplo, se o valor de MaxPollInterval for 11, então 2^11=2048sec=34minutes. Para aqueles que desejam reduzir a frequência de atualização sem usar uma tarefa agendada, basta alterar essa entrada do Registro e reiniciar o Windows Time Service com net stop w32timeisso net start w32time.
Eu digo Reinstate Monica
" /entries:300" não é a opção certa. Ele exibirá apenas as entradas registradas com o código # 300, que não são muitas. A idéia é usar esse parâmetro como uma lista de números de entrada a serem mostrados, para " /entries:0-300" mostrar todos os eventos possíveis no log.
MikeB 11/12
9

Vá para Painel de Controle> Ferramentas Administrativas> Agendador de Tarefas

à esquerda é uma árvore de pastas, expanda: Biblioteca do agendador de tarefas> Microsoft> Windows> Sincronização de horário

clique com o botão direito do mouse na tarefa: SynchronizeTime> properties

Na guia: Gatilhos, você pode adicionar os gatilhos que deseja.

Rudger
fonte
O OP solicitou um intervalo de sincronização de tempo de 20 a 30s. Isso só é possível com o truque para definir vários gatilhos
nixda
2
Equívoco comum, mas você realmente não pode ser responsabilizado! Essa tarefa agendada apenas garante a execução do serviço de Horário do Windows ... Assim, mesmo se você disparar a tarefa com mais frequência, ainda será o serviço que decide quando sincronizar, o que aparentemente é semanal.
Gras Double
6
Para alterar a frequência da pesquisa: chave do registro HKLM\SYSTEM\CurrentControlSet\services\W32Time\TimeProviders\NtpClient, edite DWORD SpecialPollInterval, em segundos (por exemplo, durante um dia: hexadecimal 15180 ou decimal 86400).
Gras Double
Ótimo! este truque funcionou para mim no meu W7 OS
razor7
2
Obrigado à Microsoft por fazer uma tarefa simples, como sincronização de horário, SO DAMN COMPLICATED. A única solução sensata é executar silenciosamente um utilitário de terceiros regularmente.
Gras Double
4

Você pode usar o TimeSync para automatizar a sincronização de horário.

  • upside: não registra um serviço inteiro como o W32tm (que você possui quando usa o W32tm)
  • upside: é portátil e pode ser executado com a /autoopção da pasta de inicialização
  • desvantagem: ferramenta de terceiros e não uma solução incorporada

    insira a descrição da imagem aqui

O TimeSync obtém a hora atual de um servidor NIST e ajusta o relógio do PC, se necessário. A precisão é geralmente dentro de um segundo. O TimeSync tentará servidores alternativos, caso o tempo não possa ser obtido do servidor preferido.

A opção / auto é fornecida para executar o TimeSync na pasta Iniciar. Nesse modo, a janela TimeSync não será exibida se o deslocamento do relógio estiver abaixo de um determinado mínimo.


É claro que você ainda pode registrar a solução incorporada W32tm cmd.exe → W32tm /registere configurar sua tarefa agendada para chamar a cmd.exe → W32tm /resynccada 5 minutos.

nixda
fonte
2

Você também pode tentar este programa: http://www.worldtimeserver.com/atomic-clock/ Permite alterar as configurações do serviço de horário do Windows - da maneira mais fácil.

Também forçar a sincronização com ele funciona, enquanto as janelas "atualizam agora" quase nunca funcionam.

NickSoft
fonte
-1

Eu executo esse comando nos quiosques que eu gerencio.

net start w32time 
w32tm /resync /force

para definir manualmente a data e hora:

date 5/24/2017
time 18:37:00

para definir o fuso horário:

tzutil/s Pacific Standard Time
user1449936
fonte
1
O que os comandos no primeiro bloco de código fazem? O segundo e o terceiro blocos de código têm algo a ver com esta pergunta?
25317 Scott