设置NTP校时
设置NTP校时-作为客户端
@echo off
rem 以管理员身份执行文件
rem 适用于域控PDC主机,对于未加域的计算机可直接使用Internet时间同步
rem 获取管理员权限
%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 : :","","runas",1)(window.close)&&exit
rem 设置NTP服务器地址
w32tm /config /manualpeerlist:"time.pool.aliyun.com,0x9 ntp.tencent.com,0x9 ntp.ntsc.ac.cn,0x9" /syncfromflags:manual /reliable:yes /update
rem 设置轮询时间
reg add "HKLM\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient" /v "SpecialPollInterval" /t REG_DWORD /d 3600 /f
rem 设置注册表中指向的远程服务器
reg add "HKLM\SYSTEM\CurrentControlSet\Services\W32Time\Parameters" /v "NtpServer" /t REG_SZ /d 192.168.3.69 /f
rem 重启时间服务
net stop w32time
net start w32time
rem 同步时间
w32tm /resync /rediscover
rem 确保Windows Time服务启动类型设置为自动
rem (存疑)两个RPC服务都要打开,Remote Procedure Call (RPC) ,Remote Procedure Call (RPC) Locator
rem 检查防火墙入站规则123/UDP
pause
注意,PDC所在OU的GPO,不要设置NtpServer,保持默认配置,同时检查PDC本地组策略,不要设置NtpServer,保持默认配置
PDC组策略管理 > 计算机配置 > 策略 > 管理模板 > 系统 > Windows时间服务 > 时间提供程序 > 配置Windows NTP客户端
(GOP中的设定优先级高于w32tm命令行执行的结果,会覆盖)
设置NTP校时-作为服务器
@echo off
rem 以管理员身份执行文件
rem 获取管理员权限
%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 : :","","runas",1)(window.close)&&exit
rem 设置时间同步为NTP模式
reg add "HKLM\SYSTEM\CurrentControlSet\Services\W32Time\Parameters" /v "Type" /d "NTP" /f
rem 启用NTPServer服务
reg add "HKLM\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer" /v "Enabled" /t REG_DWORD /d 1 /f
rem 设置本机从外部时间源同步时间
reg add "HKLM\SYSTEM\CurrentControlSet\Services\W32Time\Config" /v "AnnounceFlags" /t REG_DWORD /d 5 /f
rem 重启时间服务
net stop w32time
net start w32time
rem 确保Windows Time服务启动类型设置为自动
rem (存疑)两个RPC服务都要打开,Remote Procedure Call (RPC) ,Remote Procedure Call (RPC) Locator
rem 检查防火墙入站规则123/UDP
pause
更改域成员所在OU的GPO,为域成员电脑设置时间同步策略
修改一
成员计算机组策略管理 > 计算机配置 > 策略 > 管理模板 > 系统 > Windows时间服务 > 全局配置设置
- 启用该策略
- 修改AnnounceFlags的值为5
修改二
成员计算机组策略管理 > 计算机配置 > 策略 > 管理模板 > 系统 > Windows时间服务 > 时间提供服务 > 配置Windows NTP客户端
- NtpServer处填写域控的域名或IP
- 类型修改为NTP
- 修改合适的轮询时间
问题记录
同步时报错“此计算机没有重新同步,因为没有可用的时间数据”
PDC手动执行w32tm /resync命令同步后,报错提示:此计算机没有重新同步,因为没有可用的时间数据。
可能的原因有
- PDC没有足够的外网权限,无法连接到外部时间源
- PDC所在OU的GPO设置了NtpServer值,导致命令行设置的参数被覆盖
对于第一个原因,考虑开通外网
对于第二个原因,尝试修改注册表参数
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters\NtpServer
的值为指定的内部服务器地址:192.168.3.69,以替换原有设置的外网时间服务器地址