I work at a dental office (and am not an IT professional, hence this post haha), and we have several computers using Windows 10 on a domain using Windows Server 2012. The time is right on the domain controller but it's a few minutes off on the normal computers in the domain and that's messing with the software we use to schedule appointments.
In Command Prompt on the PDC, I ran
w32tm /config /manualpeerlist:time.windows.com /syncfromflags:manual /reliable:yes /update
net stop w32time
net start w32time
w32tm /resync /rediscover
but it says "The computer did not resync because no time data was available."
I have everything set to "Not configured" for Windows Time Service under the "Default Domain Policy" and "Default Domain Controllers Policy" group policies (idk which one is important for this). Also on the normal computers I ran w32tm /config /syncfromflags:domhier /update and verified in the registry editor that the type value was set to "NT5DS".
Additionally, w32tm /query /configuration shows that time.windows.com is the server, but running w32tm /query /source says the source is still "Local CMOS Clock," which apparently is the default if unable to connect to the NTP server. So it's a connection problem right? From what I've read it could my firewall is blocking the connection, so in Windows Firewall Advanced Settings I added new rules for both outbound and inbound calls for UDP port 123 which is apparently what the NTP uses. I installed netcat and tried ncat -u -v -z -w 2 time.windows.com 123 which appears successful so I'm not sure what the problem is. I've also heard that time.windows.com just kinda sucks so maybe I can try a different time server if no one has a solution.
Again I have no idea what I'm doing and I'm just going off the internet and ChatGPT so hopefully someone can point out what I'm missing. Thanks!
Edit Here is the "Time Providers" section of w32tm /query /configuration on both client and server:
Client:
[TimeProviders]
NtpClient (Local)
DllName: C:\WINDOWS\SYSTEM32\w32time.DLL (Local)
Enabled: 1 (Local)
InputProvider: 1 (Local)
CrossSiteSyncFlags: 2 (Local)
AllowNonstandardModeCombinations: 1 (Local)
ResolvePeerBackoffMinutes: 15 (Local)
ResolvePeerBackoffMaxTimes: 7 (Local)
CompatibilityFlags: 2147483648 (Local)
EventLogFlags: 1 (Local)
LargeSampleSkew: 3 (Local)
SpecialPollInterval: 3600 (Local)
Type: NT5DS (Local)
NtpServer (Local)
DllName: C:\WINDOWS\SYSTEM32\w32time.DLL (Local)
Enabled: 0 (Local)
InputProvider: 0 (Local)
Server:
[TimeProviders]
NtpClient (Local)
DllName: C:\Windows\system32\w32time.DLL (Local)
Enabled: 1 (Local)
InputProvider: 1 (Local)
AllowNonstandardModeCombinations: 1 (Local)
ResolvePeerBackoffMinutes: 15 (Local)
ResolvePeerBackoffMaxTimes: 7 (Local)
CompatibilityFlags: 2147483648 (Local)
EventLogFlags: 1 (Local)
LargeSampleSkew: 3 (Local)
SpecialPollInterval: 3600 (Local)
Type: NTP (Local)
NtpServer: 0.pool.ntp.org,0x8 1.pool.ntp.org,0x8 2.pool.ntp.org,0x8 3.pool.ntp.o
rg,0x8 (Local)
NtpServer (Local)
DllName: C:\Windows\system32\w32time.DLL (Local)
Enabled: 1 (Local)
InputProvider: 0 (Local)
AllowNonstandardModeCombinations: 1 (Local)
VMICTimeProvider (Local)
DllName: C:\Windows\System32\vmictimeprovider.dll (Local)
Enabled: 0 (Local)
InputProvider: 1 (Local)
I also reviewed the event logs on the PDC and it's logged the following warning every so often for the past 8 months:
The time service has not synchronized the system time for 86400 seconds because none of the time service providers provided a usable time stamp. The time service will not update the local system time until it is able to synchronize with a time source. If the local system is configured to act as a time server for clients, it will stop advertising as a time source to clients. The time service will continue to retry and sync time with its time sources. Check system event log for other W32time events for more details. Run 'w32tm /resync' to force an instant time synchronization.
And on a client event log I have these under Time-Service:
Information:
The time provider 'VMICTimeProvider' has indicated that the current hardware and operating environment is not supported and has stopped. This behavior is expected for VMICTimeProvider on non-HyperV-guest environments. This may be the expected behavior for the current provider in the current operating environment as well.
Warning:
NtpClient was unable to set a domain peer to use as a time source because of discovery error. NtpClient will try again in 15 minutes and double the reattempt interval thereafter. The error was: The entry is not found. (0x800706E1)
Information:
The time provider NtpClient is currently receiving valid time data from pool.ntp.org,0x8 (ntp.m|0x8|0.0.0.0:123->131.243.64.12:123).
Warning:
Time Provider NtpClient: No valid response has been received from domain controller Server.Dental.local after 8 attempts to contact it. This domain controller will be discarded as a time source and NtpClient will attempt to discover a new domain controller from which to synchronize. The error was: The peer is unreachable.
and similar to what appeared on the PDC, Warning:
The time service has not synchronized the system time for the last 86400 seconds because none of the time service providers provided a usable time stamp. The time service will not update the local system time until it is able to synchronize with a time source. If the local system is configured to act as a time server for clients, it will stop advertising as a time source to clients after 0 seconds. The time service will continue to retry and sync time with its time sources. Check system event log for other W32time events for more details. Run 'w32tm /resync' to force an instant time synchronization. You can control the frequency of the time source rediscovery using ClockHoldoverPeriod W32time config setting. Modify the EventLogFlags W32time config setting if you wish to disable this message.
So obviously something is going wrong, I just haven't discovered it yet.