Перед тем как рассказать о реализации возможности, повторяющей
действия указанного выше обновления, мне хотелось бы рассказать, что же
делает с операционной системой этот патч. Данное обновление изменяет
несколько параметров в системном реестре, которые отвечают за настройки
часового пояса. Новые значения для параметров вносятся в следующих
разделах реестра:
- 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 +3:00». Раньше часовой пояс для Украины назывался «(GMT +02:00) Вильнюс, Киев, Рига, София, Таллин, Хельсинки» и все параметры можно было найти в разделе «FLE Standard Time». Но так как я не знаю, перешли ли Вильнюс, Рига, София и Хельсинки на часовой пояс +3, создадим новый раздел под названием «Kiev Standard Time». Его содержимое будет выглядеть следующим образом:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\Kiev Standard Time]
"MUI_Display"="@tzres.dll,-1620"
"TZI"=hex:4c,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
"Std"="Киевское время (зима)"
"MUI_Std"="@tzres.dll,-1621"
"Dlt"="Киевское время (лето)"
"MUI_Dlt"="@tzres.dll,-1622"
"Display"="(GMT +03:00) Киев"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\Kiev Standard Time\Dynamic DST]
"2010"=hex:88,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:4c,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:ffffff4c
"StandardName"="@tzres.dll,-1622"
"StandardBias"=dword:00000000
"StandardStart"=hex:00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
"DaylightName"="@tzres.dll,-1622"
"DaylightBias"=dword:ffffffc4
"DaylightStart"=hex:00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
"TimeZoneKeyName"="Kiev Standard Time"
"DynamicDaylightTimeDisabled"=dword:00000000
"ActiveTimeBias"=dword:ffffff4c
После внесения текущих изменений в системный реестр, диалоговые окна «Дата и время» и «Выбор часового пояса» должны выглядеть следующим образом:
Рис. 1. Диалоговые окна «Дата и время» и «Выбор часового пояса»
Отмена перехода на зимнее время средствами GPO
Теперь
пришло время показать, как можно добиться того же результата для
централизованной настройки компьютеров в организации. В принципе, вы
можете воспользоваться двумя различными способами:
- Средствами элементов предпочтения групповой политики «Реестр»;
- При помощи сценариев автозагрузки.
Несмотря
на то, что одинакового результата можно добиться как первым, так и
вторым способом, если вы будете использовать предпочтения групповой
политики, то вам нужно будет создать для каждого параметра реестра свой
элемент предпочтения. Соответственно, в объекте групповой политики
вместо одной записи будет создано одиннадцать элементов предпочтения.
Именно
по этой причине остановимся на втором способе, то есть на сценарии
автозагрузки. В следующем примере будет проиллюстрирован способ создание
отмены перехода на зимнее время для Украины. В случае необходимости,
отменить переход на зимнее время для Росси можно сделать по аналогии.
Для того чтобы создать такой объект групповой политики, выполните
следующие действия:
- Вам нужно создать общую сетевую папку, а
также подготовить пакетный файл, содержимое которого позволит внести в
операционную систему изменения системного реестра, о которых шла речь в
предыдущем разделе данной статьи. В данном примере, на диске «С» контроллера домена была создана папка «StartupScripts», куда изначально был помещен файл TimeZones.reg с содержимым, описанным ранее в текущей статье.
Теперь нужно создать пакетный файл. Этот пакетный файл будет выглядеть следующим образом:
@echo off
regedit /s \\DC\StartupScripts\TimeZones.reg
- Откройте оснастку «Управление групповой политикой». В отобразившейся оснастке, в дереве консоли разверните узел «Лес: %имя леса%», узел «Домены», затем узел с названием вашего домена, после чего перейдите к узлу «Объекты групповой политики». В узле «Объекты групповой политики» создайте объект GPO «Отмена перехода на зимнее время для Украины», выберите его, нажмите на нем правой кнопкой мыши и из контекстного меню выберите команду «Изменить», предназначенную для открытия оснастки «Редактор управления групповыми политиками»;
- В оснастке «Редактор управления групповыми политиками» разверните узел Конфигурация компьютера\Политики\Конфигурация Windows, перейдите к узлу «Сценарии (запуск/завершение)» и в области сведений откройте параметр политики «Автозагрузка»;
- В отобразившемся диалоговом окне «Свойства: Автозагрузка» на вкладке «Сценарии» нажмите на кнопку «Добавить» и укажите путь к сценарию, созданному на первом шаге в текстовом поле «Имя сценария» диалогового окна «Добавление сценария», как показано на следующей иллюстрации:
Рис. 2. Добавление сценария автозагрузки
- Сохраните изменения, выполненные в диалоговом окне свойств сценариев автозагрузки и закройте оснастку «Редактор управления групповыми политиками».
Теперь нужно привязать созданный объект групповой политики к такому
подразделению, чтобы настройки часовых поясов распространялись на все
компьютеры в организации. А так как практически во всех организациях
учетные записи пользовательских компьютеров и контроллеров домена
расположены в разных подразделениях, объект групповой политики будет
привязан к самому домену. В дереве оснастки «Управление групповой политикой» выберите свой домен, нажмите на нем правой кнопкой мыши и из контекстного меню выберите команду «Связать существующий объект групповой политики». В отобразившемся диалоговом окне «Выбор объекта групповой политики» выберите созданный ранее объект групповой политики и нажмите на кнопку «ОК».
Теперь
следует проверить выполненные изменения на клиентских компьютерах.
Перезагрузите любой компьютер и перейдите к диалоговому окну «Дата и время».
Должен отображаться указанный в созданном ранее reg-файле часовой пояс.
Для того чтобы проверить, не будет ли осуществляться переход на зимнее
время, нажмите на кнопку «Изменить часовой пояс». В отобразившемся диалоговом окне должен отсутствовать соответствующий флажок, как показано ниже:
Рис. 3. Результат распространения объекта групповой политики
Изменения,
внесенные текущим объектом групповой политики, проверялись под
операционными системами Windows XP, Windows Server 2003, Windows Vista,
Windows 7, Windows Server 2008/2008
R2 и, скорее всего, изменения, внесенные объектом групповой политики,
будут правильно обрабатываться и под операционной системой Windows 2000.
Заключение
Из
этой статьи вы узнали о том, как можно вручную изменить свой часовой
пояс для компьютера, находящегося в рабочей группе или расположенного в
домене. Вы узнали о разделах системного реестра, отвечающих за
назначение часового пояса на компьютере. Рассмотрено создание объекта
групповой политики, вносящего изменения в системный реестр клиентских
компьютеров при помощи расширения клиентской стороны «Сценарии автозагрузки».
А
какие способы изменения часовых поясов и отмены перехода на зимнее
время помимо накопительного обновления KB2443685 вы используете?