Using REG.EXE, built into Windows XP, Windows Server 2003, and later operating systems, or installed from the Windows 2000 Support Tools, I have scripted SyncNTPD.bat to cause a domain member to synchronize time with the domain's authoritative time server N times a day.

The syntax for using SyncNTPD.bat is:

\[CALL\] SyncNTPD TimesPerDay

Where TimesPerDay is the number of times per day that you wish the client to synchronize with the domain's authoritative time server.

SyncNTPD.bat contains:

@echo off
setlocal
if \{%1\}<h1><a name="_goto_err_set_a_tpd_1_if_1_">\{\} goto err
set /a tpd=%1
if \{%1\}</a></h1>\{%tpd%\} goto AOK
:err
@echo Syntax: SyncNTPD TimesPerDay
endlocal
goto :EOF
:AOK
set wrk=%1
if "%wrk:~0,1%" EQU "0" goto err
call :quiet>NUL 2>&1
net stop W32Time
net start W32Time
endlocal
goto :EOF
:quiet
reg delete HKLM\SYSTEM\CurrentControlSet\Services\W32Time\Parameters /V Period /F
reg add HKLM\SYSTEM\CurrentControlSet\Services\W32Time\Parameters /V Period /T REG_DWORD /F /D %tpd%
reg add HKLM\SYSTEM\CurrentControlSet\Services\W32Time\Parameters /V GetDcBackoffMaxTimes /T REG_DWORD /F /D 0
reg add HKLM\SYSTEM\CurrentControlSet\Services\W32Time\Parameters /V GetDcBackoffMinutes /T REG_DWORD /F /D 1