четверг, 3 ноября 2011 г.

Приводим в порядок часовые пояса на компьютере - для Беларуси и Армении

Итак, свершилось - с 2011г. в Беларуси вслед за Россией отменили сезонный переход времени. Хорошо это или плохо - ответить сложно, благодатная тема для размышлений и всяких предположений, но это не так важно. Не-перевод времени, как ни странно, вызвал проблемы с настройкой компьютеров - пользователи вручную корректировали время на компьютерах, но при синхронизации все возвращилось, и возникала разница во времени в один час.

Важно понимать, как работает синхронизация времени в компьютере. Вопрос в том, что синхронизируется UTC (почти оно же GMT) время,т.е. без всяких смещений и часовых поясов, а разница во времени высчитывается по установленному часовому поясу на компьютере пользователя. Иначе синхронизировать время никак не получится - ведь, например, сервер точного времени может находится в Америке, а пользователь со своим компьютером, например, в Австралии - и надо как-то учесть разницу во времени.

Самое грамотное и правильное решение - создание в системе нового часового пояса в соответствии с новыми правилами - в итоге получаются и время, и местоположение правильные. Самый простой вариант решения вопроса для Беларуси был в установке Калининградского времени, UTC+3 - Калининград не переводит стрелки осенью и весной, но это не совсем правильно - желательно указать правильное местоположение.

Самый простой вариант (для самой популярной форточно-оконной операционной системы) - применить скрипт от Дениса Азарова, oszone.ru, который вносит необходимые изменения в реестр - надо просто сохранить его на свой компьютер и запустить с правами администратора - и все станет на свои места - в системе возникает новый часовой пояс Minsk Standard Time, UTC+03, без перехода на летнее время. Для других систем идея остается та же, про реализацию не скажу, потому что негда проверить, но не думаю, что это большая проблема. 

Более подробно прочитать про скрипт и скачать его можно тут. Огромное спасибо Денису Азарову - скрипт работает прекрасно на версиях Windows начиная с XP и позже, возможно применение его и в Windows 2000, но там надо будет перезагрузить компьютер после применения, более новые системы не потребуют перезагрузки.

Особенно удобно применять скрипт на большом количестве компьютеров в сети - прописываем исполнение скрипта в сценарии входа пользователя - и все прекрасно работает.