|
|
以上批处理测试可以使用,可以把上边的复制一下,首行空,然后把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
|
|