重点,配置好后,服务端 三个注册表的值一定要检查
1.HKLM\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer
值名称:Enabled
类型:REG_DWORD
值数据:1
2.HKLM\SYSTEM\CurrentControlSet\Services\W32Time\Parameters (实测这个好像不要动默认键值类型好像是REG_SZ系统默认上游服务器域名time.windows.com)
值名称:NTPServer
类型:REG_DWORD
值数据:1
3. HKLM\SYSTEM\CurrentControlSet\Services\W32Time\Config
值名称:AnnounceFlags
类型:REG_DWORD
值数据:5
三个键值加好了,可以本机测
CMD
w32tm /stripchart /computer:127.0.0.1 /samples:3

三个键值powershell验证
Get-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer" | Select Enabled
Get-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\Services\W32Time\Parameters" | Select NTPServer
Get-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\Services\W32Time\Config" | Select AnnounceFlags

三个键值也可以用PowerShell 一键写入三条

  1. 启用NTP服务提供程序
    New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer" `
    -Name "Enabled" -Value 1 -PropertyType DWord -Force

  2. 设置本机为NTP服务器
    New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\W32Time\Parameters" `
    -Name "NTPServer" -Value 1 -PropertyType DWord -Force

  3. 标记为可靠时间源
    New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\W32Time\Config" `
    -Name "AnnounceFlags" -Value 5 -PropertyType DWord -Force

重启时间服务生效
net stop w32time
net start w32time

也可以CMD reg.exe bat版本

reg add "HKLM\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer" /v Enabled /t REG_DWORD /d 1 /f
reg add "HKLM\SYSTEM\CurrentControlSet\Services\W32Time\Parameters" /v NTPServer /t REG_DWORD /d 1 /f
reg add "HKLM\SYSTEM\CurrentControlSet\Services\W32Time\Config" /v AnnounceFlags /t REG_DWORD /d 5 /f

net stop w32time
net start w32time

如果有必要 防火墙powershell放行
New-NetFirewallRule -Name "W32Time-NTP-UDP123" -DisplayName "Windows NTP Server UDP123" -Protocol UDP -LocalPort 123 -Action Allow -Enabled True

配置过程并不复杂
WIN+R → gpedit.msc → 计算机配置 → 管理模板 → 系统 → Windows 时间服务 → 时间提供程序

  1. 启用 Windows NTP 服务器:已启用(对外授时核心开关)
  2. 启用 Windows NTP 客户端:已启用
  3. 配置 Windows NTP 客户端:已启用

NtpServer:time.windows.com,0x8 ntp.aliyun.com,0x8
类型:AllSync=NTP + NT5DS 域层次 NTP NT5DS 一般用NTP
标志位 0x9=0x8 + 0x1 或者是 0x8 0x8Client mode(NTP 客户端模式,推荐),主动向外 查询时间,最常用。0x1SpecialInterval,强制使用下面 SpecialPollInterval 这个自定义轮询周期,不自动动态调整 Poll 间隔。(注意:⚠️ 是独立服务器(工作组,不加入 AD),不应该用 AllSync!- AllSync:如果是域内机器才适合;独立 NTP 服务器,类型改成 NTP。- 如果保持 AllSync,系统会额外尝试去找域控同步时间,但你没有 AD 域,会产生不必要的日志报错。)
SpecialPollInterval=1024
单位是,1024 秒 = 约 17 分钟,强制每隔 1024 秒去拉一次上游时间。只有标志带0x1的时候这个参数才生效。

然后CMD
gpupdate /force
net stop w32time && net start w32time

验证 CMD
w32tm /query /peers
查看上游对等源
w32tm /query /configuration
(查看完整w32time配置,看NtpServer是否Enabled Enabled就是在运行,对外有授时能力)
sc query w32time
(查看w32time服务状态 )

或者
powershell验证
Get-Service W32Time
STATE: 4 RUNNING ✅ 正在运行
STATE: 1 STOPPED ❌ 已停止

图形化验证

  1. Win+R,输入 services.msc 回车,打开服务管理器
  2. 在列表找到 Windows Time

另外看下123端口是不是在监听
powershell
netstat -ano | findstr :123

对于客户端
以ntp.hl.com写入菜单为例,可以多种写法。
cmd
w32tm /config /manualpeerlist:"ntp.hl.com,0x9" /syncfromflags:manual /update
net stop w32time
net start w32time
w32tm /resync

powershell直接写注册表
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\W32Time\Parameters" -Name NtpServer -Value "ntp.hl.com,0x9"
net stop w32time
net start w32time
w32tm /resync

查看当前配置
cmd
w32tm /query /configuration
w32tm /query /peers

关于系统列表的NTP服务器地址说明

image
关于组策略的NTP服务器地址说明,组策略高于系统注册表
image

 posted on 2026-09-11 15:34  路边一菜贩  阅读(4)  评论(0)    收藏  举报