RS232 book cover


Centrum Outlook Express

OE PowerTool 4.5.3

Twój adres IP to: 54.159.51.118
Przeglądarka: CCBot/2.0 (https://commoncrawl.org/faq/)


Ludwig von Mises Institute

Jak zmienić odstęp pomiędzy synchronizacjami czasu w Windows 7?

   Windows domyślnie synchronizuje czas przez Internet raz w tygodniu. Bywa, że jest to niewystarczające, bo systemowy czas rozjeżdża się szybciej. Często spotykaną poradą na zmianę częstotliwości synchronizacji jest modyfikacja wartości SpecialPollInterval w rejestrze. Jest ona tak rozpowszechniona, że jej nie weryfikowałem i nawet można było ją znaleźć na mojej stronie. Zauważyłem jednak, że modyfikacja tej wartości nie pomaga. Owszem, Windows podawał krótszy czas do następnej synchronizacji, jednak czas nadal się rozjeżdżał o kilkadziesiąt sekund. Nie udało mi się znaleźć informacji jak dokładnie ta wartość wpływa na synchronizację, ani jakie jeszcze ustawienia wchodzą w grę. Jest co prawda w Harmonogramie zadań zadanie synchronizujące czas, ale także jego modyfikowanie nie pomaga. Konieczne jest stworzenie własnego, oddzielnego zadania, opartego np. o systemowy program w32tm.exe.

W tym celu w Harmonogramie zadań przechodzimy do gałęzi Biblioteka Harmonogramu zadań -> Microsoft -> Windows -> Time Synchronization. Nie musi być to koniecznie ta gałąź, ale utworzenie zadania w tym miejscu pozwoli zachować porządek. Klikamy Utwórz zadanie... Wpisujemy jakąś nazwę zadania, np. Synchronizuj czas. Użytkownika, na którego prawach będzie uruchamiane zadanie, trzeba zmienić na ZARZĄDZANIE NT\USŁUGA LOKALNA. Trzeba też zaznaczyć opcję Uruchom z najwyższymi uprawnieniami. Następnie w zakładce Wyzwalacze tworzymy nowy wyzwalacz, w którym możemy określić jak często zadanie ma być uruchamiane, np. codziennie, z nieograniczonym powtarzaniem co godzinę. Następnie trzeba utworzyć dwie akcje. Pierwsza ma zapewnić, że jest włączona usługa Czas systemu Windows (w32time). Tworzymy więc akcję typu Uruchom program i jako ścieżkę podajemy:

%windir%\system32\sc.exe

oraz argumenty:

start w32time task_started

Druga akcja to właściwa synchronizacja czasu. Tworzymy ją podobnie, wpisując ścieżkę:

%windir%\system32\w32tm.exe

oraz argument:

/resync

Ważne jest, żeby akcje były na liście w tej właśnie kolejności. W zakładce Warunki warto wyłączyć opcję uruchamiającą zadanie tylko wtedy, gdy komputer jest na zasilaniu sieciowym. Z kolei w zakłace Ustawienia dobrze jest zaznaczyć opcję Uruchom szybko zadanie, jeśli pominięto zaplanowane uruchomienie. I to wszystko, zadanie powinno działać poprawnie. Można je przetestować uruchamiając je ręcznie. Jeśli czas systemowy był niepoprawny, powinien ustawić się na prawidłowy. Trzeba pamiętać, że jest to zadanie niezależne, niezwiązane z systemową synchronizacją. Dlatego jeśli np. ustawimy wyzwalanie co godzinę, Windows może nadal twierdzić, że następna synchronizacja będzie np. za tydzień.

I jeszcze jeden szczegół. Konsola Harmonogramu zadań nie odświeża swojego widoku zbyt często. Dlatego warto wcisnąć F5 żeby zobaczyć aktualny status zadania (stan, czas ostatniego uruchomienia, wynik)