修改服务器时间方法详解
HKEY LOCAL MACHINE\SYSTEM\ CurrentControlSet\Services\W32Time\Config
AnnounceFlags=5
HKEY LOCAL MACHINE\SYSTEM\ CurrentControlSet\Services\W32Time\ Parameters
NtpServer=*.*.*.*
Type=NTP
HKEY LOCAL MACHINE\SYSTEM\ CurrentControlSet\Services\W32Time\ TimeProviders\NtpServer
Enabled=1
w32tm /config /manualpeerlist:NTP_server_IP_Address,0x8 /syncfromflags:MANUAL
net stop w32time
net start w32time
w32tm /resync
计算机时钟对于计算机是非常重要的,它用于记录事件的时间信息,无论文档创建和访问时间,还是事件日志的时间都取自计算机时钟。在Microsoft Windows Server 2000域中,要确保系统时间准确并且所有服务器都使用同一时间源,对于事件日志分析起着重要的作用。
默认情况下,主域控制器(PDC)是所有域内其他计算机的权威时间服务器。非域控制器的Windows服务器和基于Windows的计算机会尝试找到一个域控制器来同步网络时间。域控制器会尝试联系拥有主域控制器(PDC)Flexible Single Master Operation(FSMO)角色的域控制器。只有拥有PDC FSMO角色的域控制器能够查询外部时间源来设置时间。也就是说,在域中时间准确的根源是主域控制器的时间要准确。
Windows包含W32Time,它是Kerberos身份验证协议所需的时间服务工具。Windows时间服务的目的是确保组织中运行Windows 2000或更高版本的所有计算机都使用同一个时间。Windows 2000 W32Time服务为在 Active Directory 域中运行的基于Windows 2000的计算机提供时间同步。W32Time服务能确保基于Windows 2000的客户端时钟与一个域中的域控制器保持同步。在建立域的时候,我们常常设置一个时间作为基准时间,Windows时间服务提供了可以利用内部硬件时钟或外部时间源,从而确保时间更加精确。
命令介绍
有关时间的命令有两个,net time和W32tm,下面对这两个命令的语法和参数加以说明。
1.net time命令使计算机的时钟与另一个计算机或域的时钟同步。如果在没有/set选项的情况下使用,则显示另一个计算机或域的时间。net time的语法为:
net time [\computername | /domain[:domainname] | /rtsdomain[:domainname]] [/set]
net time [\computername] [/querysntp] | [/setsntp[:ntp server list]]
参数说明:
◆ 无参数,显示被指派为本地计算机的Windows服务器域时间服务器的当前时间。
◆\computername,指定要检查或与之同步的服务器的名称。
◆/domain[:domainname],指定要同步时间的域。
◆/rtsdomain[:domainname],指定要与之同步的可信时间服务器所在的域。
◆/set,使计算机的时钟与指定的计算机或域的时间同步。
◆/querysntp,显示当前为本地计算机或\computername所指定的计算机配置网络时间协议(NTP)服务器的名称。
◆ /setsntp[:ntp server list],指定本地计算机所使用的NTP时间服务器的列表。该列表可以包含IP地址或DNS名称,用空格分开。如果要使用多个时间服务器,该列表必须用引号引起来。
2.W32tm是用来同步本地计算机与远程计算机或域时间的类似命令。在域控制器上使用W32tm前必须停止W32Time,完成后再启动W32Time。W32tm的语法为:
w32tm [ -tz | -s [computer] | -adj | -adjoff | -source | -once ]
[-test] [-v] [-p <port>] [-period <freq>]
关于W32tm语法的详细说明,可以在命令提示符下键入W32tm /?,将列出语法和所有参数的说明。
共2页。
时间服务配置
前面已经提到,主域控制器(PDC)是所有域内其他计算机的权威时间服务器。管理员可以对位于主域控制器上的Windows时间服务进行配置,Windows时间服务可以配置为使用内部硬件时钟或外部时间源。
1.使用内部硬件时钟配置Windows时间服务
配置Windows时间服务使用内部硬件时钟,需要修改
注册表项,在修改前对注册表进行备份。
(1)在主域控制器上,进入注册表编辑器,找到注册表子项:HKEY LOCAL MACHINE\SYSTEM\ CurrentControlSet\Services\W32Time\Parameters。
(2)修改“ReliableTimeSource”的值为1。
(3)修改二进制值“LocalNTP”为1。
(4)在命令提示符处,键入以下命令以重新启动Windows 时间服务,然后按Enter 键:
net stop w32time && net start w32time
或者进入服务,手动重启时间服务。
(5)在除时间服务器以外的其他所有计算机上运行以下命令,以便根据时间服务器重新设置本地计算机的时间:
w32tm -s或者net time /set
注意:不可将时间服务器配置为与其自身同步。
2.使用外部时间源配置Windows时间服务
当将权威时间服务器配置为与Internet时间源同步时,不会有任何身份验证。设置有两种方法,可以用命令net time /setsntp配置,如将国家标准技术协会的服务器作为系统默认的时间服务器,输入命令“net time /setsntp:time.nist.gov”或“net time /setsntp:192.43.244.18”。另外一种方法是通过注册表进行配置,具体步骤如下:
(1)在主域控制器上,进入注册表编辑器,找到注册表子项:HKEY LOCAL MACHINE\SYSTEM\ CurrentControlSet\Services\W32Time\Parameters。
(2)将服务器类型改为NTP,即修改“TYPE”值为NTP。
(3)将该服务器配置为可靠的时间源,即修改“ReliableTimeSource”为1。
(4)修改“LocalNTP”值为1。
(5)指定时间源,即修改“NtpServer”为时间源地址。
(6)在命令提示符处,键入以下命令以重新启动Windows 时间服务,然后按Enter 键:
net stop w32time && net start w32time
或者进入服务,手动重启时间服务。
(7)在除时间服务器以外的其他所有计算机上运行以下命令,以便根据时间服务器重新设置本地计算机的时间:
w32tm -s或者net time /set
关于注册表的详细配置,请参见Microsoft 知识库文章Q216734:“How to Configure an Authoritative Time Server in Windows”。
默认情况下,简单网络时间协议(SNTP)使用用户数据报协议(UDP)端口123,因此应确保主机与主域控制器之间存在路由,并确保它们之间的所有路由器和防火墙的配置均允许使用UDP端口123。如果配置为使其将外部简单网络时间协议(SNTP)时间服务器识别为权威时间服务器,需要对Internet的防火墙开放UDP端口123,否则无法将服务器与Internet SNTP服务器同步。另外,修改目标时间源后,一定要重启时间服务。