ti-enxame.com

Como forço a sincronização da hora no Windows Workstation ou Server?

Qual é o comando para sincronizar uma estação de trabalho ou servidor do Windows com a fonte de tempo configurada?

97
Kyle Brandt

Como Kyle disse w32tm /resync é a maneira moderna de fazer isso. Consulte este Link para a Base de Conhecimento Microsoft (KB 307897) para obter mais informações sobre o comando w32tm.

Há também net time que é uma versão mais antiga, mas talvez mais fácil.

92
Seanchán Torpéist

Para aqueles que ainda fazem esta pergunta.

  1. Para atualizar, use o comando abaixo (compatível com o servidor 2008 e 2012)

    w32tm /config /manualpeerlist:"ntp_server" /syncfromflags:manual /reliable:yes /update
    

mude o ntp_server com sua fonte

  1. Reinicie o serviço de horário

    net stop w32time
    net start w32time
    
  2. Sincronizar novamente a hora

    w32tm /resync
    
  3. Verifique seu status de sincronização

    w32tm /query /status
    

Os comandos acima devem ser bons se suas fontes estiverem funcionando corretamente e/ou se sua conexão estiver correta (firewall ou Microsoft Forefront também podem ser um problema). Os comandos abaixo podem ajudar na solução de problemas

Para listar pares

w32tm /query /peers

Para listar NTP Fontes:

w32tm /query /source
41
user3011708

Você pode usar o seguinte comando:

w32tm /resync

24
Kyle Brandt

Você pode usar:

w32tm /resync

Além disso, usando w32tm /resync /rediscover também "força a redetecção da rede com recursos antes da ressincronização."

Ou usando:

net time /set

Solicitará que você defina a hora para o controlador de domínio. (Funciona para versões mais antigas do Windows)

17
Brett Larson

SO: MS Windows 7

Todas as idéias acima foram tentadas, mas não ajudaram. O problema original ainda existe: " O computador não ressincronizou porque a alteração de horário necessária era muito grande. "

A solução foi encontrada no registro: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\w32time\Config

  • altere isso se a hora local estiver com pressa (por exemplo, 31 de dezembro de 2050): MaxNegPhaseCorrection
  • altere isso se a hora local estiver atrasada (por exemplo, 1 de janeiro de 1980): MaxPosPhaseCorrection
  • Os valores padrão são 0xD2F0 (ou seja, 54000 seg. = 15 horas)

(use o Google para mais detalhes)

Eu uso esse simples win_clock_sync.bat _ do menu Iniciar Inicialização:

echo off
echo Sync computer time from internet
echo.
echo Back-up registry w32time\Config
reg export HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\w32time\Config exported_w32time.reg /y
rem changing the registry keys temporarly:
reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\w32time\Config /v MaxNegPhaseCorrection /d 0xFFFFFFFF /t REG_DWORD /f
reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\w32time\Config /v MaxPosPhaseCorrection /d 0xFFFFFFFF /t REG_DWORD /f
echo.
echo w32tm /config /update
w32tm /config /update
echo.
echo w32tm /resync /rediscover 
w32tm /resync /rediscover 
echo.
echo Restore registry w32time\Config
reg import exported_w32time.reg

Aproveitar! :-)

3
Akos

Powershell um liner se o servidor ntp estiver configurado:

gsv w32time | sasv; w32tm /resync /force

Você pode colocar esse arquivo .bat na inicialização se você CMOS bateria falhou, para que possa sincronizar novamente ao iniciar o sistema operacional:

@powrshell -NoProfile -Command 'gsv w32time | sasv; w32tm /resync /force'
2
majkinetor
net start w32time
w32tm /resync

De acordo com a Riot Games

1
NatoBoram

Quase nenhuma das soluções (exceto @Akos) funciona se o Host for um Controlador de Domínio Active Directory (ADDC) do Windows Server 2016, pois se trata de uma fonte "confiável" que não pode fazer grandes mudanças.

w32tm /resync /force não funciona, porque o /force não aparece no servidor 2016.

net time /SET /Y também não funciona, porque teria perguntado:

Deseja definir a hora do computador local para corresponder à hora em \AD.example.net? (S/N) [S]

Obviamente, não funcionará se você estiver em AD.example.net, /Y apenas oculta a pergunta.

As etapas funcionam para mim usando o PowerShell:

  1. Defina o serviço w32time como não confiável:
w32tm /config /reliable:no /syncfromflags:manual /update

Opção /syncfromflags:manual significa sincronização com NTP listado na lista de pares (por exemplo, NTP externo), /update para notificar o serviço de horário em que a configuração foi alterada.

  1. Reinicie o w32time
Stop-Service w32time
Start-Service w32time
  1. Sincronizar
w32tm /resync

Isso deve funcionar.

  1. Se você precisar do ADDC como uma fonte de tempo confiável, torne-o confiável novamente:
w32tm /config /reliable:yes /update
Stop-Service w32time
Start-Service w32time
0
Ding-Yi Chen

Eu tenho uma imagem do Win10 que posso restaurar em um instantâneo em que essa mensagem de erro é sempre reproduzível: "The computer did not resync because the required time change was too big."

Eu tentei criar um script para uma solução para esse problema sem sucesso:

reg import nettime.reg # updates MaxPosPhaseOffset and MaxNegPhaseOffset

net start w32time
w32tm.exe /config /manualpeerlist:"pool.ntp.org",0x8 /syncfromflags:manual /reliable:no /update  
w32tm.exe /query /configuration
w32tm.exe /resync /rediscover
w32tm.exe /resync /force

Nem o /reliable:no nem as configurações MaxPosPhaseCorrection, nem quaisquer outros comandos indicados aqui funcionaram imediatamente de maneira reproduzível.

Após atualizar o registro, iniciar o serviço, atualizar a configuração e reiniciar novamente o serviço, ainda tive que esperar muitos minutos antes de eu w32tm /resync /rediscover teria sucesso.

A sincronização do tempo é bem-sucedida eventualmente, mas não de maneira oportuna e confiável.

0
Comotion

Tente nesta ordem. Funciona o tempo todo.

w32tm /unregister

w32tm /register

net stop w32time

net start w32time

w32tm /resync
0
slayernoah