Skip to content

Instantly share code, notes, and snippets.

@contropist
Created December 6, 2019 14:16
Show Gist options
  • Save contropist/02afe33235226080798757b3e734164e to your computer and use it in GitHub Desktop.
Save contropist/02afe33235226080798757b3e734164e to your computer and use it in GitHub Desktop.
@echo off
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
if '%errorlevel%' NEQ '0' (
goto UACPrompt
) else ( goto gotAdmin )
:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
exit /B
:gotAdmin
if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )
title www.nat.ee - 时间同步
set Enabled=1
rem 启动'1' 关闭'0'
set Type=NTP
rem 类型: NoSync NTP NT5DS AllSync
set NtpServer=cn.pool.ntp.org
rem NtpServer: NTP 时间源的域名系统(DNS)名称或 IP 地址。此值的格式是“dns 名称,标志”,其中标志是该主机标志的十六进制位掩码。有关详细信息,请参阅“Windows 时间服务组策略设置”中的“与 Windows Time 关联的 NTP 客户端组策略设置”部分(http://go.microsoft.com/fwlink/?LinkId=139727)。默认值是“time.windows.com,0x09”。
set CrossSiteSyncFlags=2
rem CrossSiteSyncFlags: 此值用位掩码表示,控制 W32time 如何选择其自身站点之外的时间源。可能的值为 0、1 和 2。此值设置为 0(不)时指示时间客户端不应尝试与自身站点之外的时间同步。此值设置为 1(仅 PDC)时指示,当客户端必须与自身站点之外的伙伴同步时间时,只能使用作为其他域中主域控制器(PDC)仿真器操作主机的计算机作为同步伙伴。此值设置为 2(所有)时指示可以使用任何同步伙伴。如果未设置 NT5DS 值,此值将被忽略。默认值为十进制值 2(十六进制值 0x02)。
set ResolvePeerBackoffMinutes=1
rem ResolvePeerBackoffMinutes: 此值(分钟)控制上一次尝试失败时 W32time 再次尝试解析 DNS 名称之前等待的时间。默认值为 15 分钟。
set ResolvePeerBackoffMaxTimes=10
rem ResolvePeerBackoffMaxTimes: 此值控制在重新启动发现进程之前 W32time 尝试解析 DNS 名称的次数。DNS 名称解析每失败一次,下一次尝试之前等待的时间将是前一次等待时间的两倍。默认值为尝试 7 次。
set SpecialPollInterval=60
rem SpecialPollInterval: 此 NTP 客户端值(秒)控制当时间源配置为使用特殊轮询间隔时,轮询手动配置时间源的频率。如果在 NTPServer 设置上启用了 SpecialInterval 标志,则客户端将使用设置为 SpecialPollInterval 的值(而不是 MinPollInterval 和 MaxPollInterval 值)来确定轮询时间源的频率。默认值为 3600 秒(1 小时)。
set EventLogFlags=0
rem EventLogFlags: 此值是一个位掩码,控制可以记录到事件查看器系统日志中的事件。若此值设置为 0x1,则指示每次检测到时间跳跃时 W32time 都将创建一个事件。若此值设置为 0x2,则指示每次更改时间源时 W32time 都将创建一个事件。此值是一个位掩码值,因此将其设置为 0x3(0x1 与 0x2 的和)时指示同时记录时间跳跃和时间源更改。
set W32Time=HKLM\SYSTEM\CurrentControlSet\services\W32Time
Reg add "%W32Time%\Parameters" /v "NtpServer" /t REG_SZ /d "%NtpServer%" /f > nul
Reg add "%W32Time%\Parameters" /v "Type" /t REG_SZ /d "%Type%" /f > nul
Reg add "%W32Time%\TimeProviders\NtpClient" /v "Enabled" /t REG_DWORD /d "%Enabled%" /f > nul
Reg add "%W32Time%\TimeProviders\NtpClient" /v "CrossSiteSyncFlags" /t REG_DWORD /d "%CrossSiteSyncFlags%" /f > nul
Reg add "%W32Time%\TimeProviders\NtpClient" /v "ResolvePeerBackoffMinutes" /t REG_DWORD /d "%ResolvePeerBackoffMinutes%" /f > nul
Reg add "%W32Time%\TimeProviders\NtpClient" /v "ResolvePeerBackoffMaxTimes" /t REG_DWORD /d "%ResolvePeerBackoffMaxTimes%" /f > nul
Reg add "%W32Time%\TimeProviders\NtpClient" /v "SpecialPollInterval" /t REG_DWORD /d "%SpecialPollInterval%" /f > nul
Reg add "%W32Time%\TimeProviders\NtpClient" /v "EventLogFlags" /t REG_DWORD /d "%EventLogFlags%" /f > nul
sc config W32Time start= auto > nul
net start W32Time > nul 2>&1
EXIT
@contropist
Copy link
Author

服务器时间同步脚本

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment