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(参数错误)→ 端口关闭 / 防火墙拦截 / 服务异常。