brian read wrote:
> Patrick
>
> Thanks for your useful posting. i'll look at Tardis,
> although I presume it won't work for WIn98 (no services).
>
> Any idea where i can find the registry hack to change the NTP
> update interval for XP?
MS defaults it’s time client to once a week polling. IMHO this is far too long for slippy Wintel boxes so I’ve mine set to once every 24 hours. This isn’t particularly a problem as after several go-rounds with my ISP I got the address of their local NTP server.
(Usually these are in the form of ntp.isp.domain or ntp1.isp.domain. If you call your ISP’s Tech Support invariably be prepared to explain over-and-over that you want the ntp server address and *not* nntp, this isn’t usenet news, etc. Support phone-monkeys are set for keyword recognition in some sort of weird pavlovian training regime and you must shock them out of it to jump-start some actual cognitive processing, get them to realize “ntp server” isn’t in their list of “10 Answers to the Top 10 Questions We Get” script.)
Anyway, be considerate of your upstream ntp server and don’t set hundreds of clients polling it constantly. As noted your SME server is a fine ntp server and can intermediate. Also Samba offers time synchronization which can be put into your Windows login scripts.
WinXP has a built in easy to use GUI for it’s time server, Win2K has it’s hidden a bit more. Win98 has no such thing, personally I recommend Dimension4 for 9x (Google for it.) To up the polling interval in XP either do the Registry hack (again Google for it or pick out of the script below) or here’s a simple script to run for the same effect. Paste the below into Notepad, save as “xp_time_sync.vbs” and run to choose a different interval:
'xp_time_sync.vbs - Change the Internet Time Update Interval
'© Doug Knox - revised - 5/10/2002
'This code may be freely distributed/modified
'Downloaded from
www.dougknox.com'Thanks to Gregory Phillips for catching an error when clicking Cancel.
Option Explicit
On Error Resume Next
'Declare variables
Dim WSHShell, p1, p2, cn, newtime, mycheck, ev, X, Y
'Set the Windows Script Host Shell and assign values to variables
Set WSHShell = WScript.CreateObject("WScript.Shell")
p1 = "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\UpdateInterval"
p2 = "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient\SpecialPollInterval"
'This section writes the correct values to the Registry
ev = WSHShell.RegRead(p2)
ev = ev / 3600
cn = ""
Do While IsNumeric(CN) = False
cn = InputBox("Enter the number of hours"& vbCR & "between Internet Time updates" & vbCR & vbCR & "The current Setting in hours is: " & ev & vbCR & vbCR & "The default value is 168 hours (7 days).","Value Entry","24")
If IsNumeric(cn) = False Then
MsgBox "Please enter a number!",4096,"Error!"
End If
If cn = "" Then
Exit Do
End If
Loop
If cn <> "" AND cn > 0 Then
X = InStr(cn,".")
cn = Left(cn,X+2)
newtime = cn * 3600
WSHShell.RegWrite p1, newtime, "REG_DWORD"
WSHShell.RegWrite p2, newtime, "REG_DWORD"
MsgBox "The Internet Time update interval has been changed." & vbCR & "Reboot your computer for the change to take effect.",4096,"Finished"
Else
If cn = "" Then
MsgBox "The Internet Time update interval has NOT been changed.",4096,"Cancelled"
Elseif cn <= 0 Then
MsgBox "The Internet Time Update interval has NOT been changed." & vbCR & "The value must be greater than 0 (zero).",4096,"Cancelled"
End If
End If