Created
December 6, 2019 14:16
-
-
Save contropist/02afe33235226080798757b3e734164e to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@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 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
服务器时间同步脚本