Jakie jest polecenie synchronizacji stacji roboczej lub serwera Windows ze skonfigurowanym źródłem czasu?
Jakie jest polecenie synchronizacji stacji roboczej lub serwera Windows ze skonfigurowanym źródłem czasu?
Odpowiedzi:
Jak powiedział Kyle, w32tm /resync
jest to nowoczesny sposób na zrobienie tego. Zobacz ten link do bazy wiedzy Microsoft Knowledge Base (KB 307897), aby uzyskać więcej informacji na temat polecenia w32tm.
Jest też net time
wersja starsza, ale być może łatwiejsza.
w32tm /resync
mówi „Komputer nie dokonał ponownej synchronizacji, ponieważ wymagana zmiana czasu była zbyt duża”. ponieważ moja bateria CMOS jest rozładowana, a zegar komputera resetuje się przy każdym uruchomieniu o 01.01.2.00 12:00. Jakaś pomoc?
net stop W32Time
a następnie spróbuj ponowniew32tm /resync
w32tm /resync /force
. Ale jeśli nie masz uruchomionej usługi, uruchom net start w32time
. Oba z podwyższonego monitu.
Dla tych, którzy wciąż zadają to pytanie.
Aby zaktualizować, użyj poniższego polecenia (zgodny z serwerami 2008 i 2012)
w32tm /config /manualpeerlist:"ntp_server" /syncfromflags:manual /reliable:yes /update
zmień serwer ntp z twoim źródłem
Uruchom ponownie usługę czasu
net stop w32time
net start w32time
Ponownie zsynchronizuj czas
w32tm /resync
Sprawdź status synchronizacji
w32tm /query /status
Powyższe polecenia powinny być poprawne, jeśli źródła działają poprawnie i / lub połączenie jest prawidłowe (zapora sieciowa lub Microsoft Forefront mogą również stanowić problem). Poniższe polecenia mogą pomóc w rozwiązywaniu problemów
Aby wymienić partnerów
w32tm /query /peers
Aby wymienić źródła NTP:
w32tm /query /source
w32tm /monitor /computers:time.windows.com
Możesz użyć następującego polecenia:
w32tm /resync
Możesz użyć:
w32tm /resync
Ponadto użycie w32tm /resync /rediscover
spowoduje „wymuszenie ponownego wykrycia zasobów sieci przed resynchronizacją”.
Lub używając:
net time /set
Poprosi Cię o ustawienie czasu na DC. (Działa dla starszych wersji systemu Windows)
w32tm /resync
nie działało dla mnie, ale działało net time /SET /Y
. Użyłem /Y
do net time
ponieważ najwyraźniej nie czyta stdin poprawnie, gdy przechodzi z sshd Cygwin.
w32tm /resync
dostałem komunikat The computer did not resync because no time data was available.
nawet po ponownym uruchomieniu usługi, ale net time /SET
działał poprawnie dla mnie.
System operacyjny: MS Windows 7
Wszystkie powyższe pomysły zostały wypróbowane, ale nie pomogły. Pierwotny problem nadal występuje: „ Komputer nie dokonał ponownej synchronizacji, ponieważ wymagana zmiana czasu była zbyt duża ”.
Rozwiązanie znajduje się w rejestrze: HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ services \ w32time \ Config
(użyj Google, aby uzyskać więcej informacji)
Używam tego prostego win_clock_sync.bat
pliku z Start Menu StartUp:
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
Cieszyć się! :-)
MaxNegPhaseCorrection
i MaxPosPhaseCorrection
zamiast sugerować, że należy je ślepo wyłączać. Tak właśnie działa ten skrypt, ustawiając ich dane na 0xFFFFFFFF .
MaxNegPhaseCorrection
i MaxPosPhaseCorrection
. Nadal zachęcam do wyjaśnienia, co robią te dwa ustawienia, ponieważ są one kluczową cechą Twojej odpowiedzi. Ważne jest, aby administrator wiedział, że jeśli wprowadzą te ustawienia na stałe, skonfiguruje swój system, aby akceptował każdą zmianę czasu, bez względu na to, jak duże, co może zepsuć Kerberos i inne ważne usługi sieciowe.
PowerShell One Liner, jeśli skonfigurowano serwer NTTP:
gsv w32time | sasv; w32tm /resync /force
Możesz wstawić ten plik .bat do uruchamiania, jeśli bateria CMOS uległa awarii, aby można go było ponownie zsynchronizować po uruchomieniu systemu operacyjnego:
@powrshell -NoProfile -Command 'gsv w32time | sasv; w32tm /resync /force'
/force
nie jest udokumentowaną opcją wiersza polecenia dla w32tm /resync
.
net start w32time
w32tm /resync
Spróbuj w tej kolejności. Działa cały czas.
w32tm /unregister
w32tm /register
net stop w32time
net start w32time
w32tm /resync
Prawie żadne z rozwiązań (z wyjątkiem @Akos) nie działa, jeśli host jest kontrolerem domeny Active Directory (ADDC) systemu Windows Server 2016, ponieważ traktuje się jako „niezawodne” źródło, które nie może dokonać dużych zmian.
w32tm /resync /force
nie działa, ponieważ /force
nie pojawia się na serwerze 2016.
net time /SET /Y
też nie działa, ponieważ zapytałby:
Czy chcesz ustawić czas komputera lokalnego, aby pasował do czasu
\AD.example.net
? (T / N) [T]
Oczywiście nie będzie działać, jeśli jesteś włączony AD.example.net
, /Y
po prostu ukrywa pytanie.
Kroki działają dla mnie przy użyciu programu PowerShell:
w32tm /config /reliable:no /syncfromflags:manual /update
Opcja /syncfromflags:manual
oznacza synchronizację z NTP wymienionym na liście równorzędnej (tj. Zewnętrznym NTP), /update
aby powiadomić usługę czasu, że konfiguracja uległa zmianie.
Stop-Service w32time
Start-Service w32time
w32tm /resync
To powinno działać.
w32tm /config /reliable:yes /update
Stop-Service w32time
Start-Service w32time
Mam obraz Win10, który mogę przywrócić do migawki, w której ten komunikat o błędzie jest zawsze powtarzalny: "The computer did not resync because the required time change was too big."
Próbowałem napisać rozwiązanie tego problemu bezskutecznie:
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
Ani /reliable:no
ani MaxPosPhaseCorrection
ustawień, ani żadnych innych poleceń wskazane tutaj pracował bezpośrednio w powtarzalny sposób.
Po zaktualizowaniu rejestru, uruchomieniu usługi, aktualizacji konfiguracji i ponownym uruchomieniu usługi nadal musiałem czekać wiele minut, w32tm /resync /rediscover
aby odnieść sukces.
Synchronizacja czasu ostatecznie się powiedzie, po prostu nie w terminowy i niezawodny sposób.