Отмена перехода на зимнее время средствами системного реестра и GPO
Уже давно не секрет, что в октябре 2011 года уже никто в России и Украине не будет переводить свои часы на зимнее время. Для России уже вышло обновление, благодаря которому из диалогового окна «Выбор часового пояса» убирается флажок«Автоматический переход на летнее время и обратно», а также меняется часовой пояс, на примере с Москвой, с «GMT +3:00» на «GMT +4:00». Так как Украина приняла решение отмены перехода на зимнее время 20-го сентября, думаю, что компания Microsoft успеет написать очередное обновление, но в случае необходимости, можно перестраховаться и задать своим пользователям соответствующие настройки вручную. Помимо этого, многие пользователи, мягко говоря, не совсем любят обновлять свои операционные системы, данное обновление может просто не быть установлено на компьютере и в ночь с последней субботы на воскресенье октября часы автоматически переведутся на час вперед. Также, поскольку уже прекращена поддержка операционной системы 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 +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

После внесения текущих изменений в системный реестр, диалоговые окна «Дата и время» и «Выбор часового пояса» должны выглядеть следующим образом:

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

Рис. 1. Диалоговые окна «Дата и время» и «Выбор часового пояса»

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

Теперь пришло время показать, как можно добиться того же результата для централизованной настройки компьютеров в организации. В принципе, вы можете воспользоваться двумя различными способами:

  • Средствами элементов предпочтения групповой политики «Реестр»;
  • При помощи сценариев автозагрузки.

Несмотря на то, что одинакового результата можно добиться как первым, так и вторым способом, если вы будете использовать предпочтения групповой политики, то вам нужно будет создать для каждого параметра реестра свой элемент предпочтения. Соответственно, в объекте групповой политики вместо одной записи будет создано одиннадцать элементов предпочтения.

Именно по этой причине остановимся на втором способе, то есть на сценарии автозагрузки. В следующем примере будет проиллюстрирован способ создание отмены перехода на зимнее время для Украины. В случае необходимости, отменить переход на зимнее время для Росси можно сделать по аналогии. Для того чтобы создать такой объект групповой политики, выполните следующие действия:

  1. Вам нужно создать общую сетевую папку, а также подготовить пакетный файл, содержимое которого позволит внести в операционную систему изменения системного реестра, о которых шла речь в предыдущем разделе данной статьи. В данном примере, на диске «С» контроллера домена была создана папка«StartupScripts», куда изначально был помещен файл TimeZones.reg с содержимым, описанным ранее в текущей статье.

    Теперь нужно создать пакетный файл. Этот пакетный файл будет выглядеть следующим образом:

    @echo off
    regedit /s \\DC\StartupScripts\TimeZones.reg
    	
  2. Откройте оснастку «Управление групповой политикой». В отобразившейся оснастке, в дереве консоли разверните узел «Лес: %имя леса%», узел«Домены», затем узел с названием вашего домена, после чего перейдите к узлу «Объекты групповой политики». В узле «Объекты групповой политики» создайте объект GPO «Отмена перехода на зимнее время для Украины», выберите его, нажмите на нем правой кнопкой мыши и из контекстного меню выберите команду «Изменить», предназначенную для открытия оснастки «Редактор управления групповыми политиками»;
  3. В оснастке «Редактор управления групповыми политиками» разверните узел Конфигурация компьютера\Политики\Конфигурация Windows, перейдите к узлу «Сценарии (запуск/завершение)» и в области сведений откройте параметр политики «Автозагрузка»;
  4. В отобразившемся диалоговом окне «Свойства: Автозагрузка» на вкладке«Сценарии» нажмите на кнопку «Добавить» и укажите путь к сценарию, созданному на первом шаге в текстовом поле «Имя сценария» диалогового окна «Добавление сценария», как показано на следующей иллюстрации:

     

     

     

    Рис. 2. Добавление сценария автозагрузки
  5. Сохраните изменения, выполненные в диалоговом окне свойств сценариев автозагрузки и закройте оснастку «Редактор управления групповыми политиками». Теперь нужно привязать созданный объект групповой политики к такому подразделению, чтобы настройки часовых поясов распространялись на все компьютеры в организации. А так как практически во всех организациях учетные записи пользовательских компьютеров и контроллеров домена расположены в разных подразделениях, объект групповой политики будет привязан к самому домену. В дереве оснастки «Управление групповой политикой» выберите свой домен, нажмите на нем правой кнопкой мыши и из контекстного меню выберите команду «Связать существующий объект групповой политики». В отобразившемся диалоговом окне «Выбор объекта групповой политики» выберите созданный ранее объект групповой политики и нажмите на кнопку «ОК».

Теперь следует проверить выполненные изменения на клиентских компьютерах. Перезагрузите любой компьютер и перейдите к диалоговому окну «Дата и время». Должен отображаться указанный в созданном ранее reg-файле часовой пояс. Для того чтобы проверить, не будет ли осуществляться переход на зимнее время, нажмите на кнопку «Изменить часовой пояс». В отобразившемся диалоговом окне должен отсутствовать соответствующий флажок, как показано ниже:

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

Рис. 3. Результат распространения объекта групповой политики

Изменения, внесенные текущим объектом групповой политики, проверялись под операционными системами Windows XP, Windows Server 2003, Windows Vista, Windows 7, Windows Server 2008/2008 R2 и, скорее всего, изменения, внесенные объектом групповой политики, будут правильно обрабатываться и под операционной системой Windows 2000.

Описание параметров для разделов, предоставляющих возможность управлять часовыми поясами:

Раздел TimeZoneInformation

Bias

Текущее смещение для перевода местного время на данном компьютере, в минутах. Смещение представляет собой разницу в минутах от формата UTC и местного времени. Данное значение высчитывается по следующей формуле:

UTC = местное время + смещение

Данный параметр не является обязательным.

StandardName

Описание стандартного времени. Параметр формируется при помощи функции GetTimeZoneInformation. Этот параметр в некоторых случаях может быть пустым.

StandardStart

Параметр, значение которого представлено в структуре SYSTEMTIME, содержащей дату и локальное время, перехода с летнего времени на зимнее. В том случае, если перевод на зимнее/летнее время не осуществляется, значением данного параметра должны быть нули.

StandardBias

Значение смещения, используемое во время перевода часов местного времени, происходящего в зимнее время. Этот элемент игнорируется, если не задано значение для параметра StandardStart.

DaylightName

Описание летнего времени время для часового пояса. Параметр формируется при помощи функции. Эта параметр в некоторых случаях может быть пустым.

DaylightStart

Параметр, значение которого представлено в структуре SYSTEMTIME, содержащей дату и локальное время, перехода с зимнего времени на летнее. В том случае, если перевод на зимнее/летнее время не осуществляется, значением данного параметра должны быть нули.

DaylightBias

Значение смещения, используемое во время перевода часов местного времени, происходящего в летнее время. Этот элемент игнорируется, если не задано значение для параметра DaylightStart.

Раздел Time Zones

Display

Отображаемое имя.

Dlt

Описание летнего времени.

MUI_Display

Отображаемое имя часового пояса в строковом ресурсе файла tzres.dll.

MUI_Dlt

Отображаемое имя летнего времени в строковом ресурсе файла tzres.dll.

Mui_Std

Отображаемое имя зимнего времени в строковом ресурсе файла tzres.dll.

Std

Описание зимнего времени

TZI

Информация о часовом поясе

Заключение

Из этой статьи вы узнали о том, как можно вручную изменить свой часовой пояс для компьютера, находящегося в рабочей группе или расположенного в домене. Вы узнали о разделах системного реестра, отвечающих за назначение часового пояса на компьютере. Рассмотрено создание объекта групповой политики, вносящего изменения в системный реестр клиентских компьютеров при помощи расширения клиентской стороны «Сценарии автозагрузки».

А какие способы изменения часовых поясов и отмены перехода на зимнее время помимо накопительного обновления KB2443685 вы используете?

 

Источник: http://dimanb.wordpress.com/


Поделитесь этим сайтом с друзьями!


Вам помог этот совет? Вы можете помочь проекту, пожертвовав на его развитие любую сумму по своему усмотрению. Например, 20 рублей. Или больше :)

Передать $пасибо! нашему сайту через систему Webmoney
Написал: Boontaftkasse9 января 2013 00:24
Здравствуйте я первый раз сижу в интеренете.
Зарегистрировался у вас на форуме только что то мне не разобраться что и как.
Вот незнаю как получилось тему создать)).

Объясните пожалуйста что к чему?
Добавление комментария:
Ваше Имя:
Ваш E-Mail:

Полужирный Наклонный текст Подчеркнутый текст Зачеркнутый текст | Выравнивание по левому краю По центру Выравнивание по правому краю | Вставка смайликов Вставка ссылкиВставка защищенной ссылки Выбор цвета | Скрытый текст Вставка цитаты Преобразовать выбранный текст из транслитерации в кириллицу Вставка спойлера
Код:
Включите эту картинку для отображения кода безопасности
обновить, если не виден код