我的环境是Windows 2003的活动目录单域多站点架构,我所在的站点有一台域控制器和多台成员服务器;

现在的情况是我的成员服务器上,如果我修改了时间,再通过命令行执行w32tm /resync时可以自动跟域控制器同步时间,如果我不做任何操作,则成员服务器的时间要等1个半小时左右才会与域控制器进行时间同步。我在成员服务器上的注册表HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient\下的键值SpecialPollInterval的默认值为3600,我试过把这个键值改为30,然后执行w32tm /config /update,net stop w32time,net start w32time;最后再重复修改成员服务器时间,等待...发现仍然要1个多小时才能同步时间,请问要怎样才能缩短这个同步间隔,谢谢。

回答:根据您的描述,我对这个问题的理解是:在Windows 2003的单域环境中,您发现成员服务器需要1个多小时才能同步时间。

首先,我想跟您确认一下:您提到的“如果我不做任何操作,则成员服务器的时间要等1个半小时左右才会与域控制器进行时间同步”,您是指手动把成员服务器的时间改为其它的,然后需要一个小时这个时间才会重新与DC同步吗?

根据我的经验,我怀疑问题是由于没事这事time source造成的,所以我建议您首先进行如下的设定:您看到的文章来自活动目录seo http://gnaw0725.blog.51cto.com/156601/d-1

步骤1: 把PDC配置为time source

1. 开始-运行,键入 regedit, 确定.
2.找到注册表路径:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\AnnounceFlags

3. 在右边, 右击 AnnounceFlags, 选择修改。
4. 编辑 DWORD 值,键入 A, 确定.
5. 退出注册表.

6. 开始运行cmd,在命令行对话框, 键入下面的命令重新启动Windows Time service 然后回车:
net stop w32time && net start w32time

步骤 2: 配置成员服务器与PDC进行时间同步:

1. 开始-运行, 键入cmd 打开命令行窗口.

2. 输入下面的命令然后依次回车 

w32tm /config /syncfromflags:domhier /update
net stop w32time
net start w32time

这样设置之后,请检查是否还有问题。如果仍然有问题,请将您具体的测试方法告诉我,以便进一步测试。

首先,系统时间默认情况下只有本机管理员组才可以修改,因此SpecialPollInterval为默认值3600即可。只对您提到的问题,我想请问您是否遇到了具体的问题?或者出于哪些方面的考量希望修改默认值?

为使配置的SpecialPollInterval起作用,请将注册表子键HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters 下的键值SpecialInterval设置为0x1.

为缩短默认的时间同步间隔,我建议您修改下面的注册表键值:您看到的文章来自活动目录seo http://gnaw0725.blog.51cto.com/156601/d-1

1. 确保子键HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config下的键值MaxPosPhaseCorrection和MaxNegPhaseCorrection的值都为 0xFFFFFFFF,类型为DWORD.

2. 将HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config下的键值MaxPollInterval的值设置为10。

然后检查同步时间是否缩短。将具体信息您可以参考下面的文档: 

How to configure the Windows Time service against a large time offset
http://support.microsoft.com/kb/884776

Kevin Su

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