你的想法很重要-大家都来谈 (C)Copyright 2012 by WeiPt

在WINDOWS上创建NTP授时服务器,并验证是否可用

1、创建ntp服务器方法,将下面代码保存为bat文件,然后用管理员方式运行

 
@echo off
REM 自动判断权限问题,主动获取管理员权限
@echo off  
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system" 
 
if '%errorlevel%' NEQ '0' (  
    goto UACPrompt  
) else ( goto gotAdmin )  
   
:UACPrompt  
    echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs" 
    echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs" 
    "%temp%\getadmin.vbs" 
    exit /B  
   
:gotAdmin  
    if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )  
    pushd "%CD%" 
    CD /D "%~dp0" 
 
:begin
 
@REM ntp 服务配置
reg add  "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config" /v "AnnounceFlags" /t REG_DWORD /d 5 /f
reg add  "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer" /v "Enabled" /t REG_DWORD /d 1 /f
reg add  "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters" /v "Type" /t REG_SZ /d "NTP" /f
@REM 添加防火墙
netsh advfirewall firewall add rule name="_123 NTP" protocol=UDP dir=in localport=123 action=allow
@REM 设置服务开机自启 todo
 
@REM 启动服务
net start w32time
netstat -an | find "123"
 
w32tm /stripchart /computer:127.0.0.1
 
pause
 

  2、测试授时服务器是否可用

在客户端执行如下命令

# 测试与NTP服务器的时间同步(超时设为5秒) w32tm /stripchart /computer:目标NTP服务器IP/域名 /samples:1 /dataonly /period:5

 

  • 成功结果:显示0x00000000(无错误)+ 时间偏移 → UDP 123 开放且 NTP 服务正常;
  • 失败结果:0x800705B4(超时)/0x80070057(参数错误)→ 端口关闭 / 防火墙拦截 / 服务异常。
posted @ 2025-12-04 10:04  weipt  阅读(15)  评论(0)    收藏  举报

你的想法很重要-大家都来谈 (C)Copyright 2012 by WeiPt