Windows服务器搭建时间同步服务

一、配置NTP服务器

1、在局域网内找一台时间可靠的计算机或服务器做为NTP服务器,例IP:209.209.209.2

2、在NTP服务器上运行 regedit 打开注册表

3、在注册表中展开HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer

4、在NtpServer项的右侧键值Enabled,将默认的0改为1,1为启用NTP服务器。

5、HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config

6、找到Config项右侧的AnnounceFlags,把默认的10改为5

7、在NTP服务器的服务管理器里找到Windows Time 服务,启动此服务并设置为"自动(延时启动)",

8、NTP服务器配置完成

9、当本机系统已配置了时间同步服务器,通过CMD查询连接NTP服务状态及同步信息:w32tm /query /status w32tm /query /peers

二、使用程序进行连接NTP服务同步本地系统时间

1、获取NTP服务器时间 2、同步本地系统时间 (获取同步时间方式有很多可以自主查询实现)

cs 复制代码
/// <summary>
/// windows系统时间同步(程序执行需要启动管理员权限执行)
/// </summary>
/// <param name="timeServer">时间同步服务器地址/IP</param>
public static void SyncTimeWithServer(string timeServer)
{
    try
    {
        // 配置时间服务器
        Process.Start("w32tm", $"/config /syncfromflags:manual /manualpeerlist:{timeServer}").WaitForExit();

        // 强制同步时间
        Process.Start("w32tm", "/resync").WaitForExit();

        Console.WriteLine("时间同步成功!");
    }
    catch (Exception ex)
    {
        Console.WriteLine($"时间同步失败: {ex.Message}");
    }
}

注意以上配置时间同步服务器是持久性配置,可在如下页面中查看,但是不会定期执行同步,因此需要额外进行定期同步操作

相关推荐
DFT计算杂谈22 分钟前
自动化脚本一键绘制三元化合物相图
java·运维·服务器·开发语言·前端·python·自动化
Yupureki1 小时前
《Linux网络编程》6.UDP原理
linux·运维·服务器·网络·udp
楼田莉子1 小时前
Linux网络:NAT_代理
linux·运维·服务器·开发语言·c++·后端
Harvy_没救了2 小时前
【网络运维】 WordPress 部署复盘
运维·网络
weixin_402278452 小时前
VS code 本地推送github添加SSH设置
运维·git·ssh
fish_xk3 小时前
Linux的权限
linux·运维·服务器
装杯让你飞起来啊3 小时前
第 2 周 Day 5-6:综合小游戏 —— 学生成绩管理系统
windows·microsoft·kotlin
AxureMost3 小时前
ActivePresenter Pro v10.1.2 屏幕录制软件
windows
嵌入式×边缘AI:打怪升级日志4 小时前
Linux 驱动与应用开发核心自测题库(面试官问答完整版)
linux·运维·php
坚果派·白晓明5 小时前
【开发者必备工具】Windows 11 安装 Git 完整指南
windows·git·项目开发必备工具·参与开源项目必备工具