找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
楼主: 15012747078

[求助] 批处理更改电脑NTP时间服务器地址

[复制链接]
发表于 4 天前 | 显示全部楼层
不错不错
回复

使用道具 举报

发表于 昨天 14:02 | 显示全部楼层
下边复制。首行空,然后就可以了。
@echo off
chcp 65001 >nul
setlocal enabledelayedexpansion

title 更改授时服务器并应用

set "NewIP=192.168.1.96"

cls
echo.
echo ========================================
echo 正在查询当前授时服务器信息...
echo ========================================
echo.

REM 获取当前最大编号
set maxNum=0
for /f "skip=2 tokens=1,* delims= " %%a in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\DateTime\Servers" /s 2^>nul') do (
    echo "%%a" | findstr /R "[0-9]*" >nul
    if !errorlevel! equ 0 (
        set "currentNum=%%a"
        if !currentNum! gtr !maxNum! set "maxNum=!currentNum!"
    )
)

set /a NewM=%maxNum%+1
echo 当前最大服务器编号: %maxNum%
echo 新增服务器编号: %NewM%

echo.
echo ========================================
echo 正在添加新的授时服务器...
echo ========================================
echo.

REM 设置默认服务器为新增编号
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\DateTime\Servers" /ve /t REG_SZ /d "%NewM%" /f >nul 2>&1
if !errorlevel! neq 0 (
    echo 警告: 无法设置默认服务器编号
) else (
    echo 成功设置默认服务器编号为: %NewM%
)

REM 添加新的NTP服务器地址
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\DateTime\Servers" /v "%NewM%" /t REG_SZ /d "%NewIP%" /f >nul 2>&1
if !errorlevel! neq 0 (
    echo 错误: 无法添加新的NTP服务器地址
    echo 请确保以管理员身份运行此脚本
    timeout /t 5 >nul
    exit /b 1
) else (
    echo 成功添加NTP服务器: %NewIP%
)

echo.
echo ========================================
echo 正在重启Windows Time服务...
echo ========================================
echo.

REM 重启时间服务以应用更改
net stop w32time >nul 2>&1
timeout /t 2 /nobreak >nul
net start w32time >nul 2>&1

if !errorlevel! neq 0 (
    echo 警告: 时间服务重启失败,尝试强制注册...
    w32tm /unregister >nul 2>&1
    w32tm /register >nul 2>&1
    net start w32time >nul 2>&1
)

echo.
echo ========================================
echo 正在同步时间...
echo ========================================
echo.

REM 强制时间同步
w32tm /resync /force >nul 2>&1
if !errorlevel! equ 0 (
    echo 时间同步成功完成!
) else (
    echo 时间同步可能遇到问题,请手动检查网络连接
)

echo.
echo ========================================
echo 最终配置状态:
echo ========================================
echo.
echo 默认服务器编号: %NewM%
echo NTP服务器地址: %NewIP%
echo.

echo 添加并应用完成,按任意键退出...
pause >nul
exit /b 0
回复

使用道具 举报

发表于 昨天 14:04 | 显示全部楼层
以上批处理测试可以使用,可以把上边的复制一下,首行空,然后把IP地址修改为你的就可以了。测试win10,win11,win7.都可以用,全部测试的是专业版。
回复

使用道具 举报

发表于 昨天 14:07 | 显示全部楼层
以上批处理测试可以使用,可以把上边的复制一下,首行空,然后把IP地址修改为你的就可以了。测试win10,win11,win7.都可以用,全部测试的是专业版。这个看到上边的了。这两天也遇到这个情况,就弄了一个这样的批处理。下边复制,文本文档改bat。可以了。
空行
@echo off
chcp 65001 >nul
setlocal enabledelayedexpansion

title 更改授时服务器并应用

set "NewIP=192.168.1.96"

cls
echo.
echo ========================================
echo 正在查询当前授时服务器信息...
echo ========================================
echo.

REM 获取当前最大编号
set maxNum=0
for /f "skip=2 tokens=1,* delims= " %%a in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\DateTime\Servers" /s 2^>nul') do (
    echo "%%a" | findstr /R "[0-9]*" >nul
    if !errorlevel! equ 0 (
        set "currentNum=%%a"
        if !currentNum! gtr !maxNum! set "maxNum=!currentNum!"
    )
)

set /a NewM=%maxNum%+1
echo 当前最大服务器编号: %maxNum%
echo 新增服务器编号: %NewM%

echo.
echo ========================================
echo 正在添加新的授时服务器...
echo ========================================
echo.

REM 设置默认服务器为新增编号
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\DateTime\Servers" /ve /t REG_SZ /d "%NewM%" /f >nul 2>&1
if !errorlevel! neq 0 (
    echo 警告: 无法设置默认服务器编号
) else (
    echo 成功设置默认服务器编号为: %NewM%
)

REM 添加新的NTP服务器地址
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\DateTime\Servers" /v "%NewM%" /t REG_SZ /d "%NewIP%" /f >nul 2>&1
if !errorlevel! neq 0 (
    echo 错误: 无法添加新的NTP服务器地址
    echo 请确保以管理员身份运行此脚本
    timeout /t 5 >nul
    exit /b 1
) else (
    echo 成功添加NTP服务器: %NewIP%
)

echo.
echo ========================================
echo 正在重启Windows Time服务...
echo ========================================
echo.

REM 重启时间服务以应用更改
net stop w32time >nul 2>&1
timeout /t 2 /nobreak >nul
net start w32time >nul 2>&1

if !errorlevel! neq 0 (
    echo 警告: 时间服务重启失败,尝试强制注册...
    w32tm /unregister >nul 2>&1
    w32tm /register >nul 2>&1
    net start w32time >nul 2>&1
)

echo.
echo ========================================
echo 正在同步时间...
echo ========================================
echo.

REM 强制时间同步
w32tm /resync /force >nul 2>&1
if !errorlevel! equ 0 (
    echo 时间同步成功完成!
) else (
    echo 时间同步可能遇到问题,请手动检查网络连接
)

echo.
echo ========================================
echo 最终配置状态:
echo ========================================
echo.
echo 默认服务器编号: %NewM%
echo NTP服务器地址: %NewIP%
echo.

echo 添加并应用完成,按任意键退出...
pause >nul
exit /b 0

回复

使用道具 举报

发表于 昨天 15:18 | 显示全部楼层
学习一下
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1|闽公网安备35020302032614号 )

GMT+8, 2026-3-31 21:24

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表