标题: [系统相关] [已解决]局域网环境下,批处理如何实现多台机子与指定主机/服务器同步日期时间? [打印本页]
作者: ygqiang 时间: 2014-10-10 21:31 标题: [已解决]局域网环境下,批处理如何实现多台机子与指定主机/服务器同步日期时间?
本帖最后由 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次时间)
作者: apang 时间: 2014-10-10 22:22
net time 可以不?
作者: ygqiang 时间: 2014-10-10 22:59
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
作者: CrLf 时间: 2014-10-11 01:30
回复 3# ygqiang
w32tm 有 [/syncfromflags:<source>] 选项,不能直接使用的吗?
作者: ygqiang 时间: 2014-10-11 08:22
回复 ygqiang
w32tm 有 [/syncfromflags:] 选项,不能直接使用的吗?
CrLf 发表于 2014-10-11 01:30
w32tm这个命令,在xp系统下可以正常使用吗?
作者: 牛虻 时间: 2014-10-11 14:53
做一个 ntp 服务器呗
作者: Batcher 时间: 2014-10-11 16:13
回复 5# ygqiang
如果你测试发现不能用,那就直接告诉他们不能用。
作者: ygqiang 时间: 2015-1-21 18:51
本帖最后由 ygqiang 于 2015-1-21 18:55 编辑
最终还是没解决。
作者: yu2n 时间: 2015-1-21 21:28
核心就是 Net Time,但是楼主系统基础知识不过关……又不愿意自己尝试,3 个月过去了,刚出生的女娃娃都能学会走几步路了。
这类似系统集成方案了,分服务器与客户机。
这不是几行代码能搞定的,通信、账户权限、系统服务都要涉及……还要考虑异常,考虑给用户的提示。
光测试这个方案的时间就要不少……
你是要直接的解决方案+软件,而不是学习几段核心代码,对吧?给论坛捐钱500,我考虑帮你做个解决方案。
作者: DAIC 时间: 2015-1-21 21:56
回复 9# yu2n
这个私活至少5000
作者: lion991128 时间: 2015-3-17 14:33
@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 本机系统时间同步完成!
作者: ygqiang 时间: 2015-3-20 11:51
@echo off
title 获取网络时间,同步到本机(需联网)
cd /d "%tmp%"
(
echo With CreateObject^ ...
lion991128 发表于 2015-3-17 14:33
局域网,xp系统主机20套,都不能连上外网啊。
作者: ygqiang 时间: 2016-1-9 11:21
需要测试。- @echo off
- echo 服务器端,运行。
-
- ;Windows Time
- sc config w32time start= auto
- net start w32time
- cls
-
- 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
- reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time /v Start /t REG_DWORD /d 2 /f
- reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters /v Type /t REG_SZ /d NTP /f
- cls
-
- echo 修改Windows防火墙设置,允许123端口的UDP连接。开启NTP端口 NTP默认使用的端口号是UDP123
- cls
- ipseccmd -w REG -p "Nable ports" -r "Nable UDP/123" -f *+0:123:UDP -n PASS -x
-
-
- ping 127.0.0.1 -n 5 >nul 2>nul
-
-
- echo 端口是某个程序或者某个服务开的,可以关掉对应的程序或者服务,这样就可以关掉相应的端口
- cls
- net stop w32time && net start w32time
- cls
-
- echo.
- netstat -an |find /i "LISTENING"
- echo.&echo 请按任意键退出...
- 1pause>nul
- cls
-
- netstat -an
- netstat -a -n
-
- ping 127.0.0.1 -n 6 >nul 2>nul
-
- exit
复制代码
作者: ygqiang 时间: 2016-1-9 11:21
需要测试。- @echo off
-
- echo 客户端,运行
-
- ;Windows Time
- sc config w32time start= auto
- net start w32time
-
- reg add HKLM\SYSTEM\ControlSet001\Services\W32Time\TimeProviders\NtpClient /v SpecialPollInterval /t REG_DWORD /d 30 /f
- 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 /v Start /t REG_DWORD /d 2 /f
-
- reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient /v SpecialPollTimeRemaining /t REG_MULTI_SZ /d 192.168.8.33,0 /f
-
-
- net stop w32time && net start w32time
-
- set TimeServer=192.168.8.33
-
- net time /setsntp:%TimeServer%
- w32tm /resync %TimeServer%
-
- exit
复制代码
作者: chouxia 时间: 2016-1-9 11:31
百度个ntp服务端就好了 没什么可说的
作者: ygqiang 时间: 2016-6-4 18:41
本帖最后由 ygqiang 于 2016-6-4 18:46 编辑
初步解决。。。
服务器端运行代码。- @echo off
- setlocal enabledelayedexpansion
-
-
- ;Automatic Updates
- sc config wuauserv start= disabled
- net stop wuauserv
-
-
- ;Computer Browser
- sc config Browser start= auto
- net start Browser
-
-
- ;Print Spooler
- sc config Spooler start= auto
- net start Spooler
-
-
- ;Server
- sc config LanmanServer start= auto
- net start LanmanServer
-
-
- ;ShellHWDetection
- sc config ShellHWDetection start= disabled
- net stop ShellHWDetection
-
-
- ;Terminal Services
- sc config TermService start= auto
- net start TermService
-
-
- ;Windows Image Acquisition
- sc config stisvc start= disabled
- net stop stisvc
-
-
- ;Windows Time
- sc config W32Time start= auto
- net start W32Time
-
-
- ;Workstation
- sc config Lanmanworkstation start= auto
- net start Lanmanworkstation
-
-
- sc config schedule start= demand
- net start schedule
-
-
-
- regedit /s ser-gx.reg
-
- net stop w32time && net start w32time
-
- echo setup w32time auto startup
- REG ADD HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time /v Start /t REG_DWORD /d 2 /f
-
-
- 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
-
-
-
- net user Guest /active:yes
- net config server /hidden:no
-
- reg add "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v forceguest /t reg_dword /d 0 /f
- rem 取消“使用简单文件共享”方式
-
- 1pause
-
- exit
复制代码
其中的ser-gx.reg文件,内容如下:- Windows Registry Editor Version 5.00
-
- [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Lsa]
- "restrictanonymous"=dword:00000000
-
- [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa]
- "restrictanonymous"=dword:00000000
- ; 以上两行在系统中的位置是:本地安全策略-安全选项-网络访问:不允许SAM帐户和共享
- ; 的匿名枚举。系统默认值是:已停用。
- ; 解说:操作系统默认:利用ipc$通道可以建立空连接,匿名枚举出该机有多少帐户。显然
- ; 有一定的安全隐患。本系统已设为不允许空连接了。以此提高单机拨号上网的安全性。
- ; 负面影响是局域网不能互访了。要更改一下才可以解决。
-
-
-
-
- [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa]
- "limitblankpassworduse"=dword:00000000
-
- [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Lsa]
- "limitblankpassworduse"=dword:00000000
- ; 以上两行在系统中的位置是:本地安全策略--安全选项--帐户:使用空白密码的本地帐户
- ; 只允许进行控制台登录。系统默认值是:已启用。
- ; 解说:很多人的帐户是不加密码的。这样,当局域网中别的电脑访问本机时,会弹出错误提示:
- ; 登录失败:用户帐户限制………。这是XP系统的一条安全策略造成的,防止别人趁你空密码时
- ; 进入你的电脑。如果你觉得无所谓,不必做这些限制,那就把它设为:已停用。
-
-
- [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist\{75048700-EF1F-11D0-9888-006097DEACF9}\Count]
- "HRZR_EHAPCY"=hex:0C,00,00,00,26,00,00,00,F0,FB,E5,52,64,95,C6,01
- "HRZR_EHAPCY:"P:\JVAQBJF\flfgrz32\sverjnyy.pcy",Jvaqbjf 防火墙"=hex:0C,00,00,00,08,00,00,00,F0,FB,E5,52,64,95,C6,01
-
- [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\GloballyOpenPorts\List]
- "445:TCP"="445:TCP:LocalSubNet:Enabled:@xpsp2res.dll,-22005"
- "137:UDP"="137:UDP:LocalSubNet:Enabled:@xpsp2res.dll,-22001"
- "138:UDP"="138:UDP:LocalSubNet:Enabled:@xpsp2res.dll,-22002"
- "139:TCP"="139:TCP:LocalSubNet:Enabled:@xpsp2res.dll,-22004"
-
- [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Epoch]
- "Epoch"=dword:000001ED
-
- [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Print\Providers]
- "LogonTime"=hex:E8,31,8E,4F,64,95,C6,01
-
- [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\GloballyOpenPorts\List]
- "445:TCP"="445:TCP:LocalSubNet:Enabled:@xpsp2res.dll,-22005"
- "137:UDP"="137:UDP:LocalSubNet:Enabled:@xpsp2res.dll,-22001"
- "138:UDP"="138:UDP:LocalSubNet:Enabled:@xpsp2res.dll,-22002"
- "139:TCP"="139:TCP:LocalSubNet:Enabled:@xpsp2res.dll,-22004"
-
- [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\SharedAccess\Epoch]
- "Epoch"=dword:000001ED
- ; 以上数值对应系统中的位置:控制面板--防火墙--例外--文件和打印机共享。系统默认:不选。
- ; 解说:所有的策略都设置好了,局域网依然不能访问,提示:您没有权限使用网络资源,找
- ; 不到网络路径!呵呵,真是令人火冒三丈!其实XP还有一道关卡,就是防火墙,必须要经过
- ; 防火墙的允许才行。
-
- [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa]
- "forceguest"=dword:00000001
- ; 以上数值对应系统中的位置是:控制面板--管理工具--本地安全策略--本地策略--安全选项,
- ; 网络访问:本地帐户的共享和安全模式:仅来宾-本地用户以来宾份验证。这时,当局域网
- ; 其他机访问本机时,不会弹出对话框,就可以直接进入。在家庭网等完全可以信任的区域,
- ; 建议使用这种方式。
-
- ;开通局域网共享(访问本机无需验证即可进入)
- ;《GhostXP_SP2电脑公司特别版》作者编写。感谢您的使用。
-
- [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters]
- "autodisconnect"=dword:0000000f
- "enableforcedlogoff"=dword:00000001
- "AdjustedNullSessionPipes"=dword:00000001
- "AutoShareServer"=dword:00000001
- "AutoSharewks"=dword:00000001
复制代码
作者: ygqiang 时间: 2016-6-4 18:42
客户端运行代码。- @echo off&setlocal enabledelayedexpansion
-
- if "%1" == "h" goto begin
- mshta vbscript:createobject("wscript.shell").run("%~fs0 h",0)(window.close)&&exit
- :begin
- rem 下边开始写批处代码了
-
-
- echo 时间同步-局域网
-
- set server1=192.168.8.31
- set server2=192.168.8.33
- set server3=10.16.80.180
-
-
- for /l %%m in (1,1,80) do (
-
- ping !server1! -n 1 >nul 2>nul && net time \\!server1! /set /y && exit
- ping !server2! -n 1 >nul 2>nul && net time \\!server2! /set /y && exit
-
- 1netTimeSet !server1! -x
-
- ping 127.0.0.1 -n 30 >nul 2>nul
-
- )
-
- exit
-
-
-
-
- net time \\%server1% /set /y
- pause
- exit
-
-
- 1netTimeSet %server1% -x
- netTimeSet %server1%
-
- exit
复制代码
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |