加入域的客户端将时间调整到和域控相差1天或者几天以上在做时间同步时会报错,告知日期不正确,在同一天即使相差几个小时也可以同步成功,这个是为什么?请问有没有办法是的客户端(加域及不加入域的)时间相差几天也可以获得时间同步,

回答:根据您的描述,我对这个问题的理解是:您想要知道如何让工作组的计算机和域的时间服务器进行同步。
首先,工作组的计算机和域计算机的时间同步是不一样的:

工作组的计算机是和外部的时间服务器进行同步的,默认的它和这个时间源进行同步time.windows.com. 只要着台客户端能够访问因特网资源,它就会和时间服务器进行登陆。您可以使用下面的命令进行重新同步:您看到的文章来自活动目录seo http://gnaw0725.blog.51cto.com/156601/d-1

w32tm /resync

这样它就行重新同步了

但是域环境的计算机是和它登陆的域控制器进行同步的,它同步的顺序如下:

域客户端>登陆的域控制>主要的域控制器>外部的时间源或者是硬件的时间源

域环境中,我们要求客户端和登陆的域控制器之间的时间误差不超过5分钟,这是因为域环境中使用Kerberos进行验证,如果时间超过的5分钟有可能会导致验证失败,比如客户端无法登陆到域环境中。当然,因为有客户端和域控制器之间的同步这样一个机制,在一个域的环境中,所有的计算机的时间应该是同步的。这些设置是通过时间服务的注册表所控制的:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters

在右面您能够看到有一个叫做Type的键值,这个值控制了域环境的时间同步的类型:您看到的文章来自活动目录seo http://gnaw0725.blog.51cto.com/156601/d-1

-NT5DS:这是默认的值,代表客户端和它登陆的域控进行登录,域控和主域控进行同步
-NTP:这个值说明有一台服务器充当时间服务器,所有的客户端都向着台服务器进行同步而不是和它自己本身登录的域控制器进行时间同步。

当您设置当前的时间同步类型为NTP的时候,您需要更改下面的键值

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters\NtpServer

指向您所设置的时间服务器的全名,比如timeserver.yourdomain.com

在域的客户端上面,您运行以下的命令可以让客户端重新找时间服务器进行同步。但是默认的如果是域控制器正常的话,客户端的时间是会和域控制器的时间是一样的。

w32tm /resync /rediscover

因此对于您的问题,让实践相差几天的客户端进行同步的话,对于工作组和域环境的计算机是不一样的:

对于工作组的计算机,请您连接到互联网然后运行下面的命令:您看到的文章来自活动目录seo http://gnaw0725.blog.51cto.com/156601/d-1

w32tm /resync

对于在域环境的计算机,因为时间相差可几天,您可能需要手动的同步,因为相差时间几天,客户端有可能无法正常的登陆到域环境和域控制器建立链接。如果客户端能够正常地登陆到域环境中的话,您可以运行下面的命令:

w32tm /resync /rediscover

让客户端重新发现域控制器并且同步。


参考:

如何在 Windows XP 中配置权威时间服务器
http://support.microsoft.com/kb/314054/zh-cn

如何在 Windows Server 2003 中配置权威时间服务器
http://support.microsoft.com/kb/816042/zh-cn

John Huang 黄吉 微软全球技术支持中心

时间同步服务器的相关文章请参考
Windows时间同步间隔
AD时间同步原理分析
时间同步服务器
windows 2008时间服务配置
---gnaw0725