通常情况下,Windows 2000/xp/2003域成员有个w32time时间服务,它会自动与域DC进行时间同步,无需人为干涉,保持域内时间的同步是kerberos认证协议的一个基本要求,也是为了防止重放攻击的一种手段,如果域成员客户机与DC的时间相差太大的话,它的登录将不能成功,从而影响使用。为了达到和DC时间同步,必须进行设置。以下对各种不同的设置方法进行比较分析:
1、手工修改时间方法 知道服务器时间,然后通过“时间和日期 属性”修改。 优点:简单易用 缺点:需要知道服务器时间
2、命令行实现 在命令行打入“net time server /set /y”,即可生效 优点:功能比较强大, 缺点:易用性差
3、计划任务自动实现 这个方法和上述类似,只是把这个命令写成脚本(保存为*.vbs),放在启动菜单或加到计划任务中执行,脚本如下: Dim oShell Set oShell = WScript.CreateObject ("WSCript.shell") oShell.run "net time server /set /y" Set oShell = Nothing
注:server为你的服务器IP或服务器名 优点:每次启动都能自动同步或根据需要自定义同步 缺点:代码比较烦琐,对于CMOS老化,时间偏差比较频繁 的服务器会比较麻烦
4、组策略实现 这个也和上面类似,唯一不同的是脚本放置的地方不同,把上面的的脚本放在组策略的启动里面 优点:每次启动都能自动同步,缺少自定义 缺点 代码比较烦琐,对于CMOS老化,时间偏差比较频繁的服务器会比较麻烦.
5、sametime程序实现 这个程序是以前公司为了时间同步专门写的程序,个人认为使用比较方便。安装方法如下: (1)安装时钟服务器 sametimesrv -install (2)安装时钟客户端 sametimeclnt -install 说明: 1)选择一台服务器作为地区时钟服务器,其他服务器与地区服务器保持时间同步; 2)地区时钟服务器都与总时钟服务器和其中一台时间比较准的服务器同步; 3)缺省情况下时钟客户端每隔1小时与时钟服务器的时钟自动同步一次, 4)配置时钟服务器的办法: 在c:etc中建立一个文件 sametime.pf ,加入如下一行: sametime.server= <服务器ip地址> 时钟同步端口为 9030(可以不配)
程序见附件(里面会用到一个 DLL文件,请把这个库文件放在程序目录下,或放在system32目录下)。 优点:可以根据自定义配置服务器时间同步,修改比较方便,更多功能有待你去发掘 缺点: 安装比较麻烦
6、其他软件 也能在网上找到其他同步软件。其最大缺点是没有单一的同步软件,大多是很多功能集合在一起,程序比较大。 优点:图形界面,使用方便 缺点:程序较大,占用CPU、内存,存在风险
以上6种方法也同样适合于非域的情况下使用
举例Windows 7 以上版本的操作系统,如何操作。 Windows 7点击开始菜单,在搜索框中输入:服务,回城,打开服务管理器 Windows 8/8.1 按F3,在搜索框中输入:服务,回城,打开服务管理器 找到名称为:Windows Time,同步时间的系统服务
右击该服务,在弹出的菜单中,点击 <属性>,弹出如图所示的属性设置窗口。
在启动类型这一栏,把该服务设置为“自动启动”或“自动启动(延迟启动)” 最后,还是在属性设置窗口,点击 <启动>按钮,启动该服务。 点击确定,完成相关设置。
设置时间自动同步 右击桌面右下角的时间,弹出图中所示界面,点击“调整日期/时间(A)”,弹出“日期和时间”设置窗口
1、在“日期和时间”设置窗口中,点击“Internet 时间”选项卡,可见当前时间同步状况 2、点击右下侧的 <更改设置>按钮,进入“Internet 时间”设置界面
在“Internet 时间”设置界面 默认与“Internet 时间服务器”前面的方框中已打勾,如果没有,则打勾。 1、“服务器”地址默认是time.windows.com,但实际是无效的,可更改为:time.nist.gov。 2、点击立即更新,即可完成时间同步。后续每7天,系统将会自动同步一次标准时间。