故障:Windows Server 2012 域环境内,操作系统的时间均不准确。

分析:Windows域内,主机时间默认与PDC同步。检查PDC服务器,发现其时间与主机时间相同,由此可见为PDC时间不准确导致的域内主机时间不准确。

解决思路:
根据微软官方的文档“Windows 时间服务的工作原理”和“Windows 时间服务 (W32Time)”,我们可以知道“……,充当主域控制器 (PDC) 仿真器的域控制器操作林根域的主机,通常配置为使用外部时间源同步时间。”,所以我们要给PDC配置下使用外部时间源同步时间。

解决步骤:

1、设置NTP服务器;
打开“命令提示符(管理员)”,输入:

w32tm /config /syncfromflags:manual /manualpeerlist:"0.pool.ntp.org 1.pool.ntp.org 2.pool.ntp.org 3.pool.ntp.org"

2、运行输入“services.msc”,将“Windows Time”服务的“启动类型”设置为“自动”,并且启动它;
这个时候我们在“命令提示符(管理员)”输入:

w32tm /query /peers

一般来说会得到类似的反馈

C:\Windows\system32>w32tm /query /peers
#对等数: 4

对等: 0.pool.ntp.org
状态: 运行中
剩余时间: 977.0247871s
模式:3 (客户端)
层次: 1 (主引用 - 与无线电时钟同步)
对等机轮询间隔: 10 (1024s)
主机轮询间隔: 10 (1024s)

对等: 1.pool.ntp.org
…………

……

3、马上对时,解决问题。
在“命令提示符(管理员)”输入:

w32tm /resync

需要特别说明的是:这里设置的ntp服务器本身是一个服务器池(pool),会自动轮询,所以我们没有给它们加上主机优先级的标志。假如我们有2台ntp服务器,要加优先级,需要用这样的格式:

w32tm /config /syncfromflags:manual /manualpeerlist:"0.pool.ntp.org,0x8 1.pool.ntp.org,0xa"

这里的0.pool.ntp.org优先级高于1.pool.ntp.org。

参考链接:
1、Windows 时间服务的工作原理
https://docs.microsoft.com/zh-cn/windows-server/networking/windows-time-service/how-the-windows-time-service-works
2、Windows 时间服务工具和设置
https://docs.microsoft.com/zh-cn/windows-server/networking/windows-time-service/windows-time-service-tools-and-settings
3、我能如何使用 pool.ntp.org?
https://www.ntppool.org/zh/use.html
4、Windows NTP网络时间同步设置详解
https://blog.csdn.net/rbpicsdn/article/details/80805926