w32time:计算机没有重新同步,因为没有时间数据可用

liv*_*hak 8 networking sync time ntp windows-services

Windows Time Service用来同步网络中两台机器之间的时间。网络是隔离的,没有互联网连接。我将网络中的一台机器配置为服务器,另一台作为客户端。

服务器配置w32tm /query /configuration如下。该NTPServer bit在机器启动。

[Configuration]

EventLogFlags: 2 (Local)
AnnounceFlags: 10 (Local)
TimeJumpAuditOffset: 28800 (Local)
MinPollInterval: 10 (Local)
MaxPollInterval: 15 (Local)
MaxNegPhaseCorrection: 4294967295 (Local)
MaxPosPhaseCorrection: 4294967295 (Local)
MaxAllowedPhaseOffset: 300 (Local)

FrequencyCorrectRate: 4 (Local)
PollAdjustFactor: 5 (Local)
LargePhaseOffset: 50000000 (Local)
SpikeWatchPeriod: 900 (Local)
LocalClockDispersion: 10 (Local)
HoldPeriod: 5 (Local)
PhaseCorrectRate: 1 (Local)
UpdateInterval: 30000 (Local)


[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: 1 (Local)
InputProvider: 0 (Local)
AllowNonstandardModeCombinations: 1 (Local)

VMICTimeProvider (Local)
DllName: C:\Windows\System32\vmictimeprovider.dll (Local)
Enabled: 1 (Local)
InputProvider: 1 (Local)
Run Code Online (Sandbox Code Playgroud)

客户端配置如下。

C:\Windows\system32>w32tm /query /configuration
[Configuration]

EventLogFlags: 2 (Local)
AnnounceFlags: 10 (Local)
TimeJumpAuditOffset: 28800 (Local)
MinPollInterval: 10 (Local)
MaxPollInterval: 15 (Local)
MaxNegPhaseCorrection: 54000 (Local)
MaxPosPhaseCorrection: 54000 (Local)
MaxAllowedPhaseOffset: 1 (Local)

FrequencyCorrectRate: 4 (Local)
PollAdjustFactor: 5 (Local)
LargePhaseOffset: 50000000 (Local)
SpikeWatchPeriod: 900 (Local)
LocalClockDispersion: 10 (Local)
HoldPeriod: 5 (Local)
PhaseCorrectRate: 1 (Local)
UpdateInterval: 360000 (Local)


[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: 604800 (Local)
Type: NTP (Local)
NtpServer: [172.19.36.138],0x8 (Local)

VMICTimeProvider (Local)
DllName: C:\Windows\System32\vmictimeprovider.dll (Local)
Enabled: 1 (Local)
InputProvider: 1 (Local)
NtpServer (Local)
DllName: C:\Windows\system32\w32time.dll (Local)
Enabled: 0 (Local)
InputProvider: 0 (Local)
Run Code Online (Sandbox Code Playgroud)

您可以NtpServer: [172.19.36.138],0x8 (Local)在上面看到它指向我配置的服务器。我能够在两台机器之间ping通。

如果我尝试w32tm /resync从客户端运行它会说

Sending resync command to local computer
The computer did not resync because no time data was available.
Run Code Online (Sandbox Code Playgroud)

为什么会发生这种情况,我该如何解决。?

Jos*_*Kan 7

  1. 重启时间服务

    net stop w32time
    net start w32time
    
    Run Code Online (Sandbox Code Playgroud)
  2. 告诉时间同步服务使用更改

    w32tm /config /update
    
    Run Code Online (Sandbox Code Playgroud)
  3. 根据时间服务器重置本地计算机的时间

    w32tm /resync /rediscover
    
    Run Code Online (Sandbox Code Playgroud)

最后一个命令将强制重新检测网络资源。注意:即使出现以下错误消息,重新同步也会成功。

The computer did not resync because no time data was available.
Run Code Online (Sandbox Code Playgroud)

ps 请同时检查您的防火墙是否允许时间服务所需的端口。