Windows 10 是否使用 w32time 以外的其他东西进行时间同步?

Windows 10 是否使用 w32time 以外的其他东西进行时间同步?

该工具w32tm可用于配置w32time服务。最近,我发现即使服务w32time未运行,原版 Windows 10(未加入域)也会同步其时间。两者均w32tm /query /status返回w32tm /query /configuration

The following error occurred: The service has not been started. (0x80070426)

Get-Service w32time证实了这一点:

Status   Name               DisplayName
------   ----               -----------
Stopped  w32time            Windows Time

但是在 GUI 中,我可以配置时间同步并看到它是否有效:

GUI 中的 Windows 10 时间设置

那么,还有其他w32time可用的时间服务吗?如果有,如何在不使用 GUI 的情况下配置它?(PowerShell cmdlet、命令行工具、注册表(作为最后的手段)...)


其他发现:

有两个计划任务可能与 GUI 设置相关:

Get-ScheduledTask | ? TaskName -like 'SynchronizeTime*' | Select-Object -ExpandProperty Actions -Property URI


URI              : \Microsoft\Windows\Time Synchronization\SynchronizeTime
Id               :
Arguments        : start w32time task_started
Execute          : %windir%\system32\sc.exe
WorkingDirectory :
PSComputerName   :

URI              : \Microsoft\Windows\Time Zone\SynchronizeTimeZone
Id               :
Arguments        :
Execute          : %windir%\system32\tzsync.exe
WorkingDirectory :
PSComputerName   :

上次运行时间似乎是在过去 7 天内(因此非常活跃)。但两个任务都没有定义触发器,因此必须由其他程序来运行它们。

按下“立即同步”按钮不会运行这两项任务中的任何一项。该按钮似乎执行了"C:\WINDOWS\system32\SystemSettingsAdminFlows.exe" ForceTimeSync 1

答案1

是的,这是一件无法阻止的事情。您停止 Windows 时间服务或停止自动设置日期时间,时间就会同步。在加入域的计算机中,为了使 Kerberos 身份验证正常工作,这项功能更加严格。因此,作为最后的手段,我认为可以从注册表中删除 NTP 服务器。您可以使用以下 powershell 代码:

Remove-Item -Path "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\DateTime\Servers" 

或者使用 .reg 文件来执行此操作:

Windows Registry Editor Version 5.00

[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\DateTime\Servers]

相关内容