Как всем известно, в нашей стране вводятся значительные изменения в состав часовых поясов начиная с 02:00 26 Октября этого года. Имея в локальной сети предприятия большое количество компьютеров под управлением ОС Microsoft Windows, необходимо проверить их готовность к данным изменениям. В контексте данной задачи, в этой заметке будут рассмотрены те процедуры, которые можно выполнить средствами System Center 2012 R2 Configuration Manager, в частности:
1. Проверка готовности всех Windows-систем к установке обновления KB2998527;
2. Проверка готовности компьютеров с Windows 8.1 и Windows Server 2012 R2 к установке обновления KB2998527;
3. Настройка компьютеров с Windows XP на использование новых часовых поясов.
1. Проверка готовности всех Windows-систем к установке обновления KB2998527
Одним из ключевых требований для беспроблемного развёртывания обновления KB2998527 является активный признак автоматического перехода на зимнее время и обратно в настройках Windows-системы. Наверное многие помнят, что эта опция до 2011 года была доступна в интерфейсе управления временем в ОС, сейчас её нет. И если в ту пору на каких-либо компьютерах была выключена эта опция, то теперь такие компьютеры могут столкнутся с проблемой: стрелки часов сместятся на час назад сразу после установки обновления KB2998527. Наша задача - исключить возможность возникновения такой ситуации.
Для начала мне было интересно найти такие компьютеры, а уже по результату принять решение о том, нужна ли автоматизация процесса исправления вышеуказанной опции. Для поиска потенциально проблемных систем можно было использовать разные инструменты, и как вы уже поняли, мы выбрали System Center 2012 R2 Configuration Manager, настроив определённым образом “Элемент конфигурации” (из раздела консоли SCCM - Активы и соответствие\Параметры соответствия).
Опция отключения автоматического перехода на зимнее/летнее время содержится в ключе реестра HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation:
Параметр “DisableAutoDaylightTimeSet” – для систем Windows XP/2003
Параметр “DynamicDaylightTimeDisabled” – Для систем начиная с Vista/2008
В обоих случаях, значение параметра должно быть равно нулю, либо параметр должен отсутствовать вообще.
Итак, создадим в SCCM “Элемент конфигурации”, и разрешим его исполнение на всех доступных ОС:
Т.к. нам нужно отлавливать два параметра реестра, у нас будет два параметра элемента конфигурации:
Первый персонально для Windows XP:
Выставляем тип параметра: значение реестра
Тип данных: Целое число
Имя раздела: HKEY_LOCAL_MACHINE
Имя ключа: SYSTEM\CurrentControlSet\Control\TimeZoneInformation
Имя значения: DisableAutoDaylightTimeSet
Перейдём на вкладку “Правила соответствия”
Установим правило, в котором будет проверятся значение выбранного параметра реестра, оно должно быть равно 0. Также разрешим исправлять значения при несоответствии и установим степень важности несоответствия как “Ошибка”.
Для систем новее Windows XP повторяем процедуру создания параметра элемента конфигурации, только используем параметр реестра: DynamicDaylightTimeDisabled
Для развёртывания элемента конфигурации создадим “Шаблон базовой конфигурации”
Разворачиваем шаблон базовой конфигурации на коллекцию с всеми компьютерами:
В развёртывании изменим только один параметр, укажем, что выполнять проверку нужно 1 раз в день.
Изучив отчёт через сутки, я понял, что проделал проверку не зря:
Для исправления ключей реестра, откроем свойства развёртывания шаблона базовой конфигурации и разрешим исправление несоответствия.
2. Проверка готовности компьютеров с Windows 8.1 и Windows Server 2012 R2 к установке обновления KB2998527
В проводимой Microsoft презентации о развёртывании обновления часовых поясов на Windows 8.1 и Windows Server 2012 R2 было сказано отдельно, что обновление на эти две системы успешно может быть установлено только в случае предварительной установки Update 1 (KB2919355).
В случае если обновления на компьютеры распространяются с помощью SCCM Software Update Point (SUP), то для проверки покрытия систем данным обновлением достаточно посмотреть отчёт в консоли SCCM - Соответствие 6 - состояние заданного обновления ПО (дополнительный). Если же обновления распространяются через службу WSUS, то для анализа ситуации можно использовать механизм встроенных отчетов консоли WSUS.
3. Настройка компьютеров с Windows XP на использование новых часовых поясов
Как известно, Windows XP более не поддерживается Microsoft, поэтому для добавления новых часовых поясов на компьютеры с этой ОС нам потребуется проделать манипуляции предложенные в статье Перевод времени 26 октября 2014 года или ударим трудом по разгильдяйству.
План действий будет такой:
1. Поднимаем виртуальную машину под управлением Windows XP (Эталон);
2. Превращаем эталонную машину в Windows XP Embedded;
3. Устанавливаем на эталонную машину обновление KB2998527 для Windows XP Embedded;
4. В панели управления выбираем нужный часовой пояс из обновлённого списка поясов;
5. Экспортируем получившиеся в результате ключи реестра на эталонной системе;
6. Распространяем полученные ключи реестра на все компьютеры под управлением Windows XP любым доступным способом.
Итак, имея “чистую” Windows XP, превращаем её в Windows XP Embedded (с точки зрения проверки установщика обновления KB2998527). Для этого создадим ключ реестра “PosReady” в расположении “HKLM\System\WPA”, после создадим параметр “Installed” типа “DWORD” с значением “1” в ранее созданном ключе реестра. Всё это можно сделать с помощью команды:
REG ADD HKLM\System\WPA\PosReady /v Installed /t REG_DWORD /d 1
Теперь загружаем обновление KB2998527 с портала Windows Update для Windows XP Embedded.
После загрузки обновления, пробуем его установить на нашу эталонную виртуальную машину. Сам процесс установки ничем не отличается от установки какого-либо другого обновления:
Однако, по окончанию установки возможно появление двух ошибок:
Несмотря на вторую ошибку, обновление всё же внесло необходимые данные в системный реестр. Чтобы проверить это откроем настройку часовых поясов:
Именно этот пояс будет выставлен после установки обновления, если ранее был установлен пояс GMT+04:00 Москва.
Теперь, нам нужно удалить ключ реестра который мы создали ранее для “превращения” в Windows XP Embedded. Сделать это можно командой:
REG delete HKLM\System\WPA\PosReady /f
После удаления ключа перезагружаем эталонный компьютер.
Важное замечание. Ветку необходимо удалять до перезагрузки, в противном случае, штатными средствами удалить её будет невозможно.
После перезагрузки свойства даты и времени изменят свой вид на правильную таймзону в новом формате в соответствии с зоной, которая была выбрана в системе до установки обновления:
Если правильный часовой пояс после перезагрузки всё-таки не отображается, то выберем его из обновлённого списка часовых поясов самостоятельно.
На данном этапе можно сказать, что в реестре нашего эталонного компьютера есть все изменения, которые мы можем тиражировать на все другие компьютеры под управлением Windows XP.
Теперь нам необходимо экспортировать базу данных часовых поясов из ключа реестра:
“HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones”,
а также текущие настройки выбранного часового пояса из ключа реестра:
“HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation”.
Выполним экспорт командой:
REG EXPORT "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones" C:\Temp\TimeZones\Fix\DB.reg REG EXPORT "HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation" C:\Temp\TimeZones\Fix\Current_settings.reg
Далее нам остаётся распространить экспортированные ключи реестра по всем системам Windows XP. Как я уже сказал ранее, сделать это можно разными путями. В моём примере это будет сделано опять же с помощью SCCM.
***
Для удобства, можно объединить два полученных в результате экспорта reg-файла в один, добавив содержимое Current_settings.reg в конец файла DB.reg. Сделать это можно также, с помощью командной строки:
COPY BD.reg + Current_settings.reg Fix.reg
Проанализируйте результативный Fix.reg и в случае необходимости добавьте туда параметр “DisableAutoDaylightTimeSet” с значением 0.
Расположим Fix.reg в общедоступном сетевом расположении и создадим пакет в SCCM. В качестве “Программы” SCCM будет выступать всего одна строчка:
REG IMPORT Fix.reg
Так же, необходимо разрешить выполнять Программу только на Windows XP SP3.
Осталось развернуть Программу Пакета на Коллекцию компьютеров SCCM.
Для “дебага” можно посмотреть лог клиента %windir%\CCM\Logs\execmgr.log
Пример фрагмента лога при успешном выполнении:
А почему только Windows XP SP3? С другими SP не сработает?
Теоретически -- должно. Но я не проверял, т.к. нет таких систем.
А что в Windows 7 x32 и 64? Их не упомянули потому как проблем не будет?
Понял, что для всех систем нужно проверить обновление указанное выше.Извиняюсь не внимательно прочитал.
Обратная ссылка: Вопросы по обновлению часовых поясов kb2998527 | MCP-Клуб в Москве /
Всем добрый день.
Ставлю на виртуалку ХР и в процессе установки на этапе настройки времени и даты вижу часовой пояс Москва +3 и галочку об автоматическом переходе на летнее время и обратно. Возможно дистрибутив со 2 СП, но получается что база часовых поясов та что надо (можно не мучиться с Эмбембед) и галочку можно убрать. И, если я прав, схема сильно упрощается - послу установки делаю экспорт зон и перехода и объединяю в фикс.
Эксперты, подскажите прав я или нет? Времени в обрез!
Заранее благодарен.
После запроса и установки всех доступных обновлений с Windows Update на такой системе Московский часовой пояс измениться на UTC+04:00, а опция перевода времени при этом исчезнет. Поэтому предложенный Вами метод на мой взгляд не верен.
Спасибо за помощь. Сделал всё по статье, всё получилось. Остался только вопрос по “DisableAutoDaylightTimeSet” с значением 0. Как я понял этот параметр должен убрать пункт выбора автоперехода на летнее\зимнее время??? Писал и “DisableAutoDaylightTimeSet”=0 в конце файла Fix.reg и “DisableAutoDaylightTimeSet”=dword:00000000 всё равно пункт как появился так и остался. На подопытном компьютере до применения файла с исправлением пункта про перевод времени не было. В чём я ошибся?
Этот параметр как раз отвечает за разрешение перехода на зимнее время и обратно.
Если применить фикс реестра, а значение этого параметра выставить в "1", то время сразу убежит на 1 час.
Всё так и есть, до правки реестра на Windows или установки обновления, опция перехода времени снова появляется в интерфейса.
Если Вы примени обновление или фикс реестра, у Вас появились новые часовые пояса и время не убежало, то сделано всё правильно.
Спасибо.
А как правильно “DisableAutoDaylightTimeSet”=0 или “DisableAutoDaylightTimeSet”=dword:00000000 ?
На сколько помню синтаксис, если добавляете через reg файл, то “DisableAutoDaylightTimeSet”=dword:00000000.
Благодарю за помощь!!!
У меня сработало с regedt32.exe /s TimeZones.reg.
А тот вариант, который предложили вы к сожалению не прокатил. Хоть и пишет что все успешно, но изменений в реестре не делал.
Доброго времени суток!
Может не совсем по теме, но вопрос возник - не установилось обновление Windows6.1-KB2998527-x86 (х64) с локального WSUSа, не на всех машинах а выборочно, и это обновление не хочет ставиться в ручном режиме - пишет "обновление не применимо к этому компьютеру"
На WSUSе пишет что компьютер обновлён. Компьютеры которые действительно обновлены находятся в тех же группах AD и в тех же группах WSUS.
Разрядность верная и компьютеры точно Win7
ПОМОГИТЕ - куда направить свой взор!
Попробуйте посмотреть лог %windir%\WindowsUpdate.log
Виталий подскажите пожалуйста как удалить значение PosReady реестра в случае если при его удалении появляется запись "Не удается удалить PosReady. Ошибка при удалении реестра" При использовании команды reg delete от имени админа пишет "отказано в доступе". Windows XPSP3.
Если компьютер был перезагружен с этим ключом, то штатными средствами не удалить.
Попробуйте загрузится, например с ERD Commander, и попробуйте удалить от туда.
Спасибо, попробую
Виталий Якоб
С помощью ERD Commander ветку PosReady удалил.
Спасибо за подсказку.