1 ноября 2011 г.

Отмена перехода на зимнее время средствами системного реестра и GPO




Уже давно не секрет, что в октябре 2011 года уже никто в России не будет переводить свои часы на зимнее время. Для России уже вышло обновление, благодаря которому из диалогового окна«Выбор часового пояса» убирается флажок«Автоматический переход на летнее время и обратно», а также меняется часовой пояс, на примере с Москвой, с «GMT +3:00» на «GMT +4:00».
Многие пользователи, мягко говоря, не совсем любят обновлять свои операционные системы, и данное обновление может просто не быть установлено на компьютере и в ночь с последней субботы на воскресенье октября часы автоматически переведутся на час вперед. Также, поскольку уже прекращена поддержка операционной системыWindows 2000, а в просторах Рунета можно найти большое количество компаний – владельцев данной операционной системы, для таких пользователей следует ожидать такой же участи.
Перед тем как рассказать о реализации возможности, повторяющей действия указанного выше обновления, мне хотелось бы рассказать, что же делает с операционной системой этот патч. Данное обновление изменяет несколько параметров в системном реестре, которые отвечают за настройки часового пояса. Новые значения для параметров вносятся в следующих разделах реестра:

  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones – база данных часовых поясов;
  •  HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation– сведения о выбранном часовом поясе.


Отмена перехода на зимнее время при помощи системного реестра

Данные, отображаемые в раскрывающемся списке «Часовой пояс»диалогового окна выбора часового пояса для выбранного часового пояса можно найти в разделе реестра HKLM\Microsoft\Windows NT\CurrentVersion\Time Zones согласно требуемой зоне. Например, для часового пояса «(GMT+03:00) Волгоград, Москва, Санкт-Петербург» параметры реестра можно найти в разделе «Russian Standard Time». После внесения всех изменений накопительногообновления KB2443685, параметры текущего раздела со всеми изменениями должны выглядеть следующим образом (измененные параметры выделены полужирным начертанием):

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\Russian Standard Time]
"MUI_Display"="@tzres.dll,-1520"
"MUI_Dlt"="@tzres.dll,-421"
"MUI_Std"="@tzres.dll,-422"
"Display"="(GMT+04:00) Волгоград, Москва, Санкт-Петербург"
"Dlt"="Московское время (лето)"
"Std"="Московское время (зима)"
"TZI"=hex:10,ff,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\Russian Standard Time\Dynamic DST]
"2010"=hex:4c,ff,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,0a,00,00,00,05,00,03,00,\
  00,00,00,00,00,00,00,00,03,00,00,00,05,00,02,00,00,00,00,00,00,00
"2011"=hex:10,ff,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
"FirstEntry"=dword:000007da
"LastEntry"=dword:000007db

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation]
"Bias"=dword:ffffff10
"StandardName"="Московское время (зима)"
"StandardBias"=dword:00000000
"StandardStart"=hex:00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
"DaylightName"="Московское время (зима)"
"DaylightBias"=dword:00000000
"DaylightStart"=hex:00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
"ActiveTimeBias"=dword:ffffff10




После внесения текущих изменений в системный реестр часовой пояс должен обозначаться как (GMT+04).

Теперь реализуем все это средствами GPO.

Нужно создать пакетный файл. Этот пакетный файл будет выглядеть следующим образом:
@echo off
regedit /s \\DC\StartupScripts\TimeZones.reg
net time /set /y
Положим эти файлы в общедоступную сетевую папку. Назначим пакетный файл на автозагрузку пользователя.

Для того, чтобы пользователь мог вносить необходимые изменения в реестр, дадим ему права на необходимые ветки в той же GPO. (Конфигурация компьютера - Конфигурация Windows - Параметры безопасности - Реестр).
А также права на изменение системного времени (Конфигурация компьютера - Конфигурация Windows - Параметры безопасности -Локальные политики - Назначение прав пользователя).
После того, как все пройдет успешно, заберем права на изменение системного времени.





2 комментария:

  1. А я был уверен до недавнего времени, что у меня все серваки обновляются через WSUS. Оказалось - не все, на некоторых время убежало назад. Я подумал, что это хороший способ узнать, на каких именно серверах не работает автообновление и обновил их сначала вручную, а потом и автоматически, через заработавшее автоообновление.

    ОтветитьУдалить
  2. а у меня WSUS до конца так и не развернут ((
    и по ходу, так и недоразверну, ибо с этой работой по ходу расставаться буду ))

    ОтветитьУдалить