Поиск на сайте: Расширенный поиск


Новые программы oszone.net Читать ленту новостей RSS
CheckBootSpeed - это диагностический пакет на основе скриптов PowerShell, создающий отчет о скорости загрузки Windows 7 ...
Вы когда-нибудь хотели создать установочный диск Windows, который бы автоматически установил систему, не задавая вопросо...
Если после установки Windows XP у вас перестала загружаться Windows Vista или Windows 7, вам необходимо восстановить заг...
Программа подготовки документов и ведения учетных и отчетных данных по командировкам. Используются формы, утвержденные п...
Red Button – это мощная утилита для оптимизации и очистки всех актуальных клиентских версий операционной системы Windows...
OSzone.net Microsoft Windows Server 2008 Администрирование Управление доменом с помощью групповых политик Отмена перехода на зимнее время средствами системного реестра и GPO RSS

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

Текущий рейтинг: 4.3 (проголосовало 50)
 Посетителей: 45138 | Просмотров: 67329 (сегодня 0)  Шрифт: - +

*Уже давно не секрет, что в октябре 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

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

*

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

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

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

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

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

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

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

@echo off
regedit /s \\DC\StartupScripts\TimeZones.reg

*

Рис. 2. Добавление сценария автозагрузки

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

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

*

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

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

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

Раздел TimeZoneInformation

ActiveTimeBias

Смещение местного времени в минутах от Гринвича с учётом летнего времени. Чтобы определить смещение в часах, достаточно разделить это значение на 60

Bias

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

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

Смещение в часах определяется делением на 60. Данный параметр не является обязательным.

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

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

Здесь вы можете найти скрипт от volk1234, предназначенный для изменения часовых поясов Украины, Беларуси и Армении в операционных системах, начиная с Windows XP.

Заключение

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

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

Автор: Дмитрий Буланов  •  Иcточник: dimanb.wordpress.com  •  Опубликована: 23.09.2011
Нашли ошибку в тексте? Сообщите о ней автору: выделите мышкой и нажмите CTRL + ENTER


Оценить статью:
Вверх
Комментарии посетителей
28.09.2011/23:35  Vanetz

Большое спасибо!
16.10.2011/12:04  ana90063445

за статью вам спасибо! новот просмотрел журнал обновлений и обнаружил что обновление KB2443685 уже было Дата установки:

23 января 2011 года. Установка отменена. как действовать ждать по новому или что то посоветываете?
24.10.2011/13:20  DImaN!

Этот патч выпускается периодически, с изменениями для определённого часового пояса. То есть, если изменения для Вашего часового пояса присутствуют в последнем обновлении 2443685, то его желательно устанавливать…
31.10.2011/16:53  capitannemo

Для лентяев обернул эти изменения в MSI файл.
Развернуть в сети теперь можно за 2 мин.
http://blogs.mail.ru/mail/capitan/#7351254EF031B8F9
02.11.2011/16:36  egres1984

Применил через групповые политики Win SERV 2008R2 скрипт описаный выше.
Теперь у половины пользовательских машин правильное время, а у половины часы показывают на час вперед, и как я заметил на час вперед преимущественно на Win7.
Пробывал копировать ветку TimeZoneInformation с сервера на пользовательскую машину, без изменений.
В чём может быть проблема?
10.11.2011/22:13  Ohripshiy

Мне например не хватило сил и усидчивости, чтоб разобраться как например для Новосибирска реестр переписать... в общем с компьютера, на котором установлено сие обновление экспортировал ветку реестра "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones" целиком и импортировал у себя... всё работает на ура, все города теперь нужные часовые пояса показывают...
(содержание файла реестра не смог выложить, так что если кому интересно - стучитесь в личку, могу поделиться файлом)
Комментарии отключены. С вопросами по статьям обращайтесь в форум.