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}");
    }
}

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

相关推荐
李狗蛋儿啊5 小时前
zero自动化框架搭建---Git安装详解
运维·git·自动化
小金的学习笔记5 小时前
如何在本地和服务器新建mysql用户和密码
运维·服务器·mysql
s_fox_6 小时前
nginx ngx_http_module(7) 指令详解
运维·nginx·http
EasyNVR6 小时前
EasyRTC智能硬件:实时畅联、沉浸互动、消音护航
运维·服务器·网络·安全·音视频·webrtc·p2p
专注VB编程开发20年6 小时前
除了 EasyXLS,加载和显示.xlsx 格式的excel表格,并支持单元格背景色、边框线颜色和粗细等格式化特性
c++·windows·excel·mfc·xlsx
CarryBest6 小时前
Jenkins 环境搭建---基于 Docker
运维·jenkins
若云止水7 小时前
Ubuntu 下 nginx-1.24.0 源码分析 - ngx_process_options
运维·nginx
s_fox_7 小时前
nginx ngx_http_module(9) 指令详解
运维·nginx·http
风口上的猪20157 小时前
thingboard告警信息格式美化
java·服务器·前端
Natsuagin7 小时前
轻松美化双系统启动界面与同步时间设置(Windows + Ubuntu)
linux·windows·ubuntu·grub