[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[系统相关] [已解决]局域网环境下,批处理如何实现多台机子与指定主机/服务器同步日期时间?

本帖最后由 ygqiang 于 2016-6-6 22:16 编辑

[已解决]局域网环境,批处理如何实现多台机子与指定主机/服务器同步日期时间?

局域网,xp系统,不能上外网。bat如何实现:日期/时间自动校正到一样?

最好能拿出1台xp主机,作为服务器一直通电开机。
其他xp主机,每次开机进入xp系统,通过局域网,后台自动定期间隔30秒,自动校正日期/时间。(如果ping不通服务器,就不校正)

最好能有绿色/免安装版本、xp下可以使用的、后台自动启动、后台自动校正时间的软件(客户端/服务器端)。


1、服务器端,xp启动以后,自动运行某个绿色/免安装/后台运行的时间服务器软件。(最好是bat或者vbs代码)
2、客户端,xp启动以后,自动运行1次时间同步客户端软件。(最好也是bat或者vbs代码)
(绿色/免安装/后台运行,与局域网内的服务器ip比如10.10.127.66自动校正1次时间)
2

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2
    • pcl_test: 未按版规发帖PB -30

net time 可以不?

TOP

net time 可以不?
apang 发表于 2014-10-10 22:22



   

  http://www.cnblogs.com/hfzsjz/archive/2011/01/05/1926536.html

1、服务器端,运行。

reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer /v Enabled /t REG_DWORD /d 1 /f
reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config /v AnnounceFlags /t REG_DWORD /d 5 /f
echo setup w32time auto startup
REG ADD HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time /v Start /t REG_DWORD /d 2 /f
net stop w32time && net start w32time



2、客户端,运行

reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient /v SpecialPollInterval /t REG_DWORD /d 30 /f
reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient /v SpecialPollTimeRemaining /t REG_MULTI_SZ /d 192.168.1.1,0 /f
echo setup w32time auto startup
REG ADD HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time /v Start /t REG_DWORD /d 2 /f

set TimeServer=192.168.1.1
net time /setsntp:%TimeServer%
net stop w32time && net start w32time
w32tm /resync

TOP

回复 3# ygqiang


    w32tm 有 [/syncfromflags:<source>] 选项,不能直接使用的吗?

TOP

回复  ygqiang


    w32tm 有 [/syncfromflags:] 选项,不能直接使用的吗?
CrLf 发表于 2014-10-11 01:30



w32tm这个命令,在xp系统下可以正常使用吗?

TOP

做一个 ntp 服务器呗
菩提本无树,明镜亦非台。
本是无一物,何处惹尘埃。

TOP

回复 5# ygqiang


    如果你测试发现不能用,那就直接告诉他们不能用。
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

本帖最后由 ygqiang 于 2015-1-21 18:55 编辑

最终还是没解决。

TOP

核心就是 Net Time,但是楼主系统基础知识不过关……又不愿意自己尝试,3 个月过去了,刚出生的女娃娃都能学会走几步路了。

这类似系统集成方案了,分服务器与客户机。

这不是几行代码能搞定的,通信、账户权限、系统服务都要涉及……还要考虑异常,考虑给用户的提示。
光测试这个方案的时间就要不少……

你是要直接的解决方案+软件,而不是学习几段核心代码,对吧?给论坛捐钱500,我考虑帮你做个解决方案。
『千江有水千江月』千江有水,月映千江;万里无云,万里青天。    http://yu2n.qiniudn.com/

TOP

回复 9# yu2n


    这个私活至少5000

TOP

@echo off

title 获取网络时间,同步到本机(需联网)

cd /d "%tmp%"

(

echo With CreateObject^("Microsoft.XMLHTTP"^)

echo .open "get", "http://open.baidu.com/special/time/", False

echo .send

echo WScript.echo DateAdd^("s",CLng^(Left^(Split^(Split^(.responseText,"baidu_time("^)^(1^),")"^)^(0^),10^)^),"1970-1-1 8:00"^)

echo End With

)>gettime.vbs

for /f "tokens=1*" %%i in ('cscript //nologo gettime.vbs') do date %%i & time %%j

echo 本机系统时间同步完成!

TOP

@echo off

title 获取网络时间,同步到本机(需联网)

cd /d "%tmp%"

(

echo With CreateObject^ ...
lion991128 发表于 2015-3-17 14:33




局域网,xp系统主机20套,都不能连上外网啊。

TOP

需要测试。
  1. @echo off
  2. echo 服务器端,运行。
  3. ;Windows Time
  4. sc config w32time start= auto
  5. net start w32time
  6. cls
  7. reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer /v Enabled /t REG_DWORD /d 1 /f
  8. reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config /v AnnounceFlags /t REG_DWORD /d 5 /f
  9. reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time /v Start /t REG_DWORD /d 2 /f
  10. reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters  /v Type /t REG_SZ /d NTP /f
  11. cls
  12. echo 修改Windows防火墙设置,允许123端口的UDP连接。开启NTP端口  NTP默认使用的端口号是UDP123
  13. cls
  14. ipseccmd -w REG -p "Nable ports" -r "Nable UDP/123" -f *+0:123:UDP -n PASS -x
  15. ping 127.0.0.1 -n 5 >nul 2>nul
  16. echo 端口是某个程序或者某个服务开的,可以关掉对应的程序或者服务,这样就可以关掉相应的端口
  17. cls
  18. net stop w32time && net start w32time
  19. cls
  20. echo.
  21. netstat -an |find /i "LISTENING"
  22. echo.&echo   请按任意键退出...
  23. 1pause>nul
  24. cls
  25. netstat -an
  26. netstat -a -n
  27. ping 127.0.0.1 -n 6 >nul 2>nul
  28. exit
复制代码

TOP

需要测试。
  1. @echo off
  2. echo 客户端,运行
  3. ;Windows Time
  4. sc config w32time start= auto
  5. net start w32time
  6. reg add HKLM\SYSTEM\ControlSet001\Services\W32Time\TimeProviders\NtpClient /v SpecialPollInterval /t REG_DWORD /d 30 /f
  7. reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient /v SpecialPollInterval /t REG_DWORD /d 30 /f
  8. reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time /v Start /t REG_DWORD /d 2 /f
  9. reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient /v SpecialPollTimeRemaining /t REG_MULTI_SZ /d 192.168.8.33,0 /f
  10. net stop w32time && net start w32time
  11. set TimeServer=192.168.8.33
  12. net time /setsntp:%TimeServer%
  13. w32tm /resync %TimeServer%
  14. exit
复制代码

TOP

百度个ntp服务端就好了  没什么可说的

TOP

返回列表