修改服务器时间方法详解

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的计算机会尝试找到一个域控制器来同步网络时间。域控制器会尝试联系拥有主域控制器(PDCFlexible Single Master OperationFSMO)角色的域控制器。只有拥有PDC FSMO角色的域控制器能够查询外部时间源来设置时间。也就是说,在域中时间准确的根源是主域控制器的时间要准确。

Windows包含W32Time,它是Kerberos身份验证协议所需的时间服务工具。Windows时间服务的目的是确保组织中运行Windows 2000或更高版本的所有计算机都使用同一个时间。Windows 2000 W32Time服务为在 Active Directory 域中运行的基于Windows 2000的计算机提供时间同步。W32Time服务能确保基于Windows 2000的客户端时钟与一个域中的域控制器保持同步。在建立域的时候,我们常常设置一个时间作为基准时间,Windows时间服务提供了可以利用内部硬件时钟或外部时间源,从而确保时间更加精确。

命令介绍

有关时间的命令有两个,net timeW32tm,下面对这两个命令的语法和参数加以说明。

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,完成后再启动W32TimeW32tm的语法为:

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服务器同步。另外,修改目标时间源后,一定要重启时间服务。