将Windows工作站或服务器同步到其配置的时间源的命令是什么?

评论

可以在这里找到有关W32tm的更多信息... technet.microsoft.com/zh-cn/library/bb491016.aspx

我为此创建了一个故障单。 Windows无法在启动时与时间服务器同步,或者无法从睡眠或休眠模式恢复。 Windows URI:feedback-hub:?contextid = 58&feedbackid = f15278d4-b20d-4a9a-9693-cdf8fbaaa669&form = 1&src = 1 <-如果从Windows商店安装了feedback-hub,请放入Windows Run对话框

#1 楼

正如Kyle所说,w32tm /resync是实现此目的的现代方法。有关w32tm命令的更多信息,请参见此Microsoft知识库链接(KB 307897)。

还有net time,它是一个较旧的版本,但也许更容易。

评论


w32tm / resync表示“计算机未重新同步,因为所需的时间更改太大。”因为我的CMOS电池没电了,并且每次启动时2000年1月1日12:00 AM我的计算机时钟都会重置。有什么帮助吗?

–从不退出
2015年11月4日在16:48



链接断开。

– Stijn Sanders
17-10-11在9:26

@LightnessRacesinOrbit和其他方法,如果出现“时间变化太大”错误,请使用w32tm / resync / force。但是,如果您没有启动服务,请运行net start w32time。两者均来自提升的提示。

– cdlvcdlv
18年5月25日在15:13



要解决“时间变化太大”,请将HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ W32Time \ Config中的注册表项MaxNegPhaseCorrection和MaxPosPhaseCorrection更改为最大值(ffffffff)

– Tomas F.
18-09-3在10:02

@NeverQuit / @ -StijnSanders / @ -JaredThirsk-这是bruteforcetech文章的存档:即使已验证所有设置,Windows Time Service也不会同步| BFTech展示次数。并且,在bruteforcetech文章中引用了这篇文章:使Windows更频繁地同步时间。

–凯文·费根(Kevin Fegan)
20年7月12日,0:10

#2 楼

对于仍在询问此问题的用户。



要更新,请使用以下命令(与2008和2012服务器兼容)

w32tm /config /manualpeerlist:"ntp_server" /syncfromflags:manual /reliable:yes /update



用您的源代码更改ntp_server



重新启动时间服务

net stop w32time
net start w32time


/>
重新同步时间

w32tm /resync



验证您的同步状态

w32tm /query /status


>
如果您的源正常工作和/或连接正常(防火墙或Microsoft Forefront也可能是问题),则上面的命令应该很好。下面的命令可以帮助您进行故障排除

列出对等方

w32tm /query /peers


列出NTP源:

w32tm /query /source


评论


尼斯,全面的答案!设置NTP服务器的命令的确定+1。

– Shaamaan
17年4月3日,9:33

请注意,这对于没有“ / update”标志的Windows 10专业版是有效的,因为那是无效的。

– Fmstrat
17年12月4日在15:56

为了进行故障排除,测试与特定服务器的连接通常很有用:w32tm / monitor /computers:time.windows.com

–兰迪·奥里森(Randy Orrison)
19 Mar 12 '19 at 14:44



#3 楼

您可以使用以下命令:

w32tm /resync

#4 楼

您可以使用:

w32tm /resync


另外,使用w32tm /resync /rediscover还将“在重新同步之前强制重新检测资源的网络。”

或使用:

net time /set


将提示您设置DC时间。 (适用于Windows的较早版本)

评论


由于某种原因,w32tm / resync对我不起作用,但是净时间/ SET / Y对我有用。我使用/ Y作为净时间,因为从cygwin进行sshd时,它显然无法正确读取stdin。

– qwertzguy
15年1月14日在3:40

运行w32tm / resync时,出现消息计算机未重新同步,因为没有可用的时间数据。即使重新启动服务后,但净时间/ SET对我来说也正常工作。

–克里斯·马格努森(Chris Magnuson)
17年4月3日,12:32

#5 楼

操作系统:MS Windows 7

以上所有想法均已尝试但没有帮助。原始问题仍然存在:“由于所需的时间更改太大,因此计算机未重新同步。”

解决方案在注册表中找到:
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ services \ w32time \ Config


如果当地时间很紧急,请更改此设置(例如2050年12月31日):
MaxNegPhaseCorrection
如果当地时间延迟,请更改此设置(例如
1980年1月1日):MaxPosPhaseCorrection
默认值为0xD2F0(即54000秒= 15小时)

(使用Google了解更多详情)
>
我从开始菜单启动中使用此简单的win_clock_sync.bat文件:

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


享受! :-)

评论


您的答案可以使用对MaxNegPhaseCorrection和MaxPosPhaseCorrection值的功能的解释,而不是建议应盲目禁用它们。这就是该脚本通过将其数据设置为0xFFFFFFFF来执行的操作。

–我说恢复莫妮卡
17年5月13日在18:45

您不能忽略所提到的错误消息“由于所需的时间更改太大,计算机没有重新同步。”而不更改MaxNegPhaseCorrection和MaxPosPhaseCorrection值中的数据。或者,您是否找到了解决原始问题的任何可行解决方案?为什么要“盲目地”写作?如果您需要花很短的时间来通读,那么您会看到导出和导入这些值的原始数据,这与“盲目地”执行操作有点相去甚远。

– Akos
17年5月14日在7:50



您应该让此脚本将值更改为禁用,强制进行更新,然后将其更改回建议的值。

– Cory Knutson
17年2月2日在18:57

Twisty的有效观点并没有真正集中在NeverQuit提出的问题上……但是,Akos并未明确解释为什么该脚本是NeverQuit的合适解决方案。从本质上讲,存在注册表值MaxNegPhaseCorrection和MaxPosPhaseCorrection以阻止W32Time服务对当前时间应用重大更改(在诸如外部时间源严重错误的情况下);但是,如果发生某些问题导致PDCe从当前时间快速漂移可靠的时间源,那么校正控件将防止w32tm修正较大的漂移。在这种情况下:

–Creaky_Uncle_Nick
17年7月6日在10:32

@Akos Downvote已撤消,原因是您指出脚本确实确实会将更改还原为MaxNegPhaseCorrection和MaxPosPhaseCorrection值。我仍然鼓励您对这两种设置的作用进行说明,因为这是您答案的关键特征,并且重要的是,管理员应意识到,如果他们将这些设置永久设置到位,则会将其系统配置为接受任何时间更改,无论大小,这都可能破坏Kerberos和其他重要的网络服务。

–我说恢复莫妮卡
17年7月7日在2:39

#6 楼

如果配置了ntp服务器,则使用Powershell一个内衬:

gsv w32time | sasv; w32tm /resync /force

如果CMOS失败,则可以将此.bat文件放入启动中,这样它就可以在操作系统启动时重新同步:

@powershell -NoProfile -Command 'gsv w32time | sasv; w32tm /resync /force'


评论


/ force不是w32tm / resync的书面命令行选项。

–代
18/09/10在20:39

#7 楼

net start w32time
w32tm /resync


根据防暴游戏

#8 楼

如果主机是Windows Server 2016 Active Directory域控制器(ADDC),则几乎所有解决方案(@Akos除外)都无法工作,因为该主机将自身视为无法进行大量时间更改的“可靠”源。

w32tm /resync /force不起作用,因为/force不在服务器2016中出现。

net time /SET /Y也不起作用,因为它会询问:


您要设置本地计算机的时间以匹配
\AD.example.net的时间? (是/否)[Y]


当然,如果您在AD.example.net上,它将无法正常工作,而/Y只是隐藏了问题。

步骤使用PowerShell为我工作:


将w32time服务设置为不可靠:

w32tm /config /reliable:no /syncfromflags:manual /update


选项/syncfromflags:manual表示与对等方中列出的NTP同步列表(即外部NTP),/update用于通知配置的时间服务已更改。


重新启动w32time

Stop-Service w32time
Start-Service w32time



同步

w32tm /resync


这应该有效。


如果您确实需要ADDC作为可靠的时间源,请设置再次可靠:

w32tm /config /reliable:yes /update
Stop-Service w32time
Start-Service w32time


#9 楼

我有一个Win10映像,可以将其还原到始终可以再现此错误消息的快照:"The computer did not resync because the required time change was too big."

我试图编写一个无济于事的解决方案,用于脚本:

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


/reliable:noMaxPosPhaseCorrection设置以及此处指示的任何其他命令都无法以可复制的方式立即起作用。

更新注册表,启动服务,更新配置并再次重新启动服务后,我仍然需要等待几分钟才能成功执行w32tm /resync /rediscover

时间同步确实可以最终取得成功,只是没有及时可靠的方式。

#10 楼

根据我的研究,我为此添加了书签:


如果Hyper-v主机服务器是同一域的一部分,请禁用PDC guest虚拟机vm的时间同步


在PDC(或任何单个工作站)上,从引用的内部DNS或ip不可信地址(0x8)更新:
W32tm / config /manualpeerlist:"192.168.0.254,0x8“ / syncfromflags:手动/可靠:是/ update
Powershell重启服务w32time
W32tm / resync / nowait


在非PDC的DC上:
w32tm / config / syncfromflags: domhier / update
W32tm / resync / rediscover


在服务器和其他工作站上仅用于更新时间,不用于配置:
W32tm / resync / nowait


检查时间是否确实在更新(差异):
w32tm / stripchart /计算机:192.168.0.254 / samples:15 / dataonly


如果时间服务损坏或失败,需要重置:
Powershell停止服务w32time
W32tm / unregister
超时30
W32tm / register
Powershell启动服务w32time


注意:NTP端口是123 UDP,应该在任何运行良好的计算机上提供相同的输出
Powershell Get-NetUDPEndpoint -LocalPort 123


LocalAddress                             LocalPort
------------                             ---------
::                                       123
0.0.0.0                                  123

其他命令
w32tm / query / status
w32tm / query / peers
w32tm / query / configuration
ms的最佳实践:时间同步最佳实践

#11 楼

按此顺序尝试。一直有效。

w32tm /unregister

w32tm /register

net stop w32time

net start w32time

w32tm /resync


评论


由于出现以下错误,我不得不在第一条命令和第二条命令之间等待大约10分钟:发生以下错误:指定的服务已标记为删除。 (0x80070430)错误。然后,接下来的3条命令起作用了,但是w32tm / resync命令导致计算机没有重新同步,因为没有可用的时间数据。

– pacoverflow
20年5月4日在6:15