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

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

相关推荐
wdfk_prog6 小时前
Wi-Fi Direct教程 02:从 wpa_cli main() 到 P2P_FIND——用源码注释追踪 CLI 控制命令发送
运维·服务器·网络·网络协议·ubuntu·p2p·wifi-direct
DD云验证6 小时前
DD云验证,免费网络验证系统
服务器·python·易语言·网络验证·卡密验证
HRTOS7 小时前
HRTOS Shell继续完善:优化printf缓冲区与字符串越界保护,国庆后随新版本更新
运维·单片机·嵌入式硬件·算法·51单片机
智能RPA7 小时前
农业与矿业行业智能体自动化平台对比评测(计量与巡检场景)
运维·人工智能·python·自动化·agent·rpa
沫璃染墨7 小时前
《从零入门Linux系统篇(五十一):线程篇·四——pthread线程库详解:从线程创建到终止与分离》
linux·运维·服务器·开发语言·c++·系统架构·线程
墨家前任巨子7 小时前
定时关机脚本
运维
云计算练习生7 小时前
什么是上下文切换?进程切换时 CPU 到底在保存什么
linux·服务器·操作系统·进程切换
ESDWAN7 小时前
企业组网后网络频繁掉线,常见故障排查指南
运维·网络·架构
shada7 小时前
CMake指定 MSVC 工具集与 Windows SDK
c++·windows
qetfw7 小时前
Debian 综合服务实训:Apache2、Samba、LDAP、vsftpd 与 OpenVPN
linux·服务器·debian