我有一台 Windows 2016 标准服务器,它的时间似乎每隔一两秒就在两个值之间波动。这会向我暗示有两种不同的事物在反复尝试重新设置时间。
我跑过:
w32tm /resync
net time \\DC /set
它将它设置为今天的日期(在托盘中),当前是 2021 年 17 月 12 日 11:35,但几秒钟后它会切换到 2021 年 14 月 12 日 22:09,然后几秒钟后又变回来了。它是一个 SQL 服务器,所以这会导致一些有趣的问题,尽管它是一个开发盒,而不是实时的。
我怎么知道还有什么正在设置日期时间,或者,如果没有其他软件/服务可能会这样做?
如果我运行w32tm /query /source
,我会得到:
Free-running system clock
如果我跑步w32tm /query /configuration
,我会得到:
EventLogFlags: 2 (Local)
AnnounceFlags: 10 (Local)
TimeJumpAuditOffset: 28800 (Local)
MinPollInterval: 6 (Local)
MaxPollInterval: 10 (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: 100 (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: AllSync (Local)
NtpServer: time.windows.com,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)
在下面@harrymc 的评论之后,查看事件ID 4616 的eventvwr(系统时间已更改),有两个进程正在修改系统时间。我在任务管理的选项卡服务中查找了它们:
PID: 0x394 => 916 (correct time)
Group: LocalServiceNetworkRestricted
vmictimesync
TimeBrokerSvc
Imhosts
EventLog
Dhcp
PID: 0x3a8 => 936 (incorrect time)
Group: Local Service
WinHttpAutoProxySvc
W32Time *-> Windows Time Service?*
nsi
netprofm
FontCache
EventSystem
CDPSvc
将时间停止Windows Time service
在正确的值,所以这是一个修复,虽然为什么它试图将它设置为 3 天前的时间,我很困惑。我将暂时关闭服务。
通过删除 time.windows.com 作为时间服务器,下面 Akina 的评论可能还有另一个修复方法。如果我以这种方式找到解决方法,我将补充这篇文章。感谢@harrymc 和@akina。
要查找哪个进程更改了日期/时间,请参阅 事件 ID 4616:系统时间已更改:
Event ID 4616
在显示的事件列表中,单击一个事件以查看其详细信息,尤其是在“进程信息”下,可以看到“名称”字段。