拯救烦人的 Windows 时间同步

154 天前
 Censhuang

非技术贴,小白用 GPT 解决的,GPT 代码警告
用途:懒人,clash 设置了系统代理,电脑关机的时候不会自动关闭系统代理,导致开机的时候系统时间经常同步失败
而 Windows 设置也是反人类,控制面板同步时间需要点两遍,第一遍报错第二遍才能同步时间
clash 的自启动会让核心异常,出现异常时候设置为系统代理会都不能上网,只能重启/关闭自启动解决,我选择了后者。
不会代码,也没有什么人去解决这个问题
使用的 NTP 服务器:ntp6.aliyun.com
参考文档: https://learn.microsoft.com/zh-cn/windows-server/networking/windows-time-service/windows-time-service-tools-and-settings?tabs=config
时间同步命令由文心一言工具箱读上述文档后编写,直接编写的 bat 不能同步时间,openai 写的代码也是这样子的。
记得使用 ANSI 编码保存文件

@echo off    
SETLOCAL EnableDelayedExpansion    
  
:: 尝试提升权限    
net session >nul 2>&1    
if %errorLevel% neq 0 (    
    echo 请求管理员权限...    
    powershell -Command "Start-Process -FilePath '%0' -Verb RunAs"    
    exit /b    
)    
  
echo 正在配置并同步时间...    
  
:: 停止 Windows Time 服务    
net stop w32time    
  
:: 配置 NTP 服务器为 ntp6.aliyun.com    
w32tm /config /syncfromflags:manual /manualpeerlist:"ntp6.aliyun.com"    
  
:: 启动 Windows Time 服务    
net start w32time    
  
:: 立即触发时间同步    
w32tm /resync    
  
:: 等待同步完成并检查结果    
timeout /t 3    
w32tm /query /status    
  
:: 输出同步后的时间  
echo 同步后的时间为:%date% %time%  
  
:: 等待 2 秒后关闭命令提示符窗口  
timeout /t 2 /nobreak >nul  
exit  
  
ENDLOCAL

如果跟我一样还是懒人,可以再写个同时启动 clash 和同步时间的命令。
这个命令由 gpt4turbo 所写,文心一言工具箱所写的代码不能正常请求管理员,需要右键管理员运行才能正常使用
这个代码检测是否为管理员,若不是管理员再请求权限
同样记得使用 ANSI 编码保存。

@echo off
:: 检测管理员权限
net session >nul 2>&1
if %errorlevel% == 0 (
    echo 运行中...
) else (
    echo 请求管理员权限...
    :: 创建 VBS 脚本以提升权限
    echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
    echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"
    "%temp%\getadmin.vbs"
    :: 删除临时 VBS 脚本
    del "%temp%\getadmin.vbs"
    exit
)

:: 以管理员权限启动程序
start "" "这里写 clash 路径"
start "" "这里写同步时间的命令"

:: 执行完后关闭命令窗口
exit
3048 次点击
所在节点    分享创造
27 条回复
sunshower
154 天前
@Censhuang #20 如果你是国内无法访问,国外正常,然后如果用 Proxy Switchy 设置浏览器全局代理,国内又能访问了,那就是 dns 解析问题
COOOOOOde
154 天前
windows 的话,我选择不开系统代理. 很多软件都有代理设置项, 需要走代理的软件设置一下就好了 比如 telegram 这样的. 浏览器用 SwitchyOmega 插件
PrinceofInj
154 天前
如果仅仅开机那一小段时间的同步无法进行都会导致时间异常,你更应该考虑一下是不是计算机除了啥问题,虽然主板上的时间不是非常准,但是在一周内应该不会有超过一分钟偏差吧。
VwEI
154 天前
一直用的自动时间校准的小软件,设置每隔多久校准就行了
Censhuang
153 天前
@sunshower #21 是国内国外都不能访问,clash 的连接里没有任何域名
ymz
152 天前
最近确实遇见了 windows 系统时钟不同步的情况
bareen
29 天前
@Censhuang #9 我都是设置 clash 手动开启,然后写个 bat 开机自动清空代理设置,我是靠这个方法解决的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1059685

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX