Hmmz, uit
KB816042Registry Entry MaxPosPhaseCorrection
Path HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config
Notes This entry specifies the largest positive time correction in seconds that the service makes. If the service determines that a change that is larger than this is required, the service logs an event. (0xFFFFFFFF is a special case that means always make a time correction.) The default value for domain members is 0xFFFFFFFF. The default value for stand-alone clients and servers is 54,000 or 15 hours.
Registry Entry MaxNegPhaseCorrection
Path HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config
Notes This entry specifies the largest negative time correction in seconds that the service makes. If the service determines that a change that is larger than this is required, the service logs an event instead. (-1 is a special case that means always make a time correction.) The default value for domain members is 0xFFFFFFFF. The default value for stand-alone clients and servers is 54,000 or 15 hours.
blijkt dus dat het gedrag wat je ziet "by design" is: als het tijdsverschil kleiner is dan de MaxNeg- of MaxPosPhaseCorrection wordt de systeemtijd aangepast; als het groter is wordt de systeemtijd
niet aangepast maar in plaats daarvan een event gelogged.
Voor jouw situatie lijkt het me beter om de MaxAllowedPhaseOffset te gebruiken. Uit datzelfde artikel:
Registry Entry MaxAllowedPhaseOffset
Path HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config
Note This entry specifies the maximum offset, in seconds, for which W32Time tries to adjust the computer clock by using the clock rate. When the offset is greater than this rate, W32Time sets the computer clock directly. The default value for domain members is 300. The default value for stand-alone clients and servers is 1.
Als het tijdsverschil kleiner is dan deze waarde wordt de systeemtijd aangepast door de systeemklok wat sneller (of langzamer) te laten lopen; als het tijdsverschil groter is wordt de systeemtijd gezet. Hoe groot de waarde precies moet zijn, kun je zelf beredeneren: als je weet hoe vaak je clients ongeveer hun tijd vergelijken met die van de server en je weet dat het tijdsverschil niet groter mag worden dan 60 seconden, moet je kunnen terugrekenen wat de maximale aanpassing per half uur is, die je je kunt veroorloven.
Daarnaast moet je dan de MaxNeg- en MaxPosPhaseCorrection op diezelfde waarde zetten, zodat je zeker weet dat de systeemtijd alleen wordt aangepast door de klok sneller of langzamer te laten lopen en niet door 'n direct te zetten. En je moet dus zorgen dat je die events monitored, zodat je weet wanneer je handmatig moet ingrijpen.