Смена часового пояса в Windows XP скрипт и групповые политики

В скором времени произойдет очередная Московского смена часового пояса.  Новый часовой пояс устанавливается в соответствии с третьим часовым поясом UTC +3.  Смена должна произойти 26 октября 2014 года. Microsoft уже прокомментировали данную ситуацию и объявили, что они не будут выпускать обновление для Windows XP, так как эта операционная система более не поддерживается.

Возникает вопрос, что делать организациям у которых еще остались старые компьютеры с Windows XP, как менять часовой пояс? Или же например компьютеры в пропорции 50х50 — половина Windows XP, половина Windows 7.

Для компьютеров с Windows 7 уже выпущено обновление KB2998527. При установке этого обновления появляется новый часовой пояс UTC +3

Смена часового пояса в Windows Xp

Получается, чтобы все было правильно, на Windows 7 необходимо установить это обновление. В корпоративной сети это можно сделать с помощью WSUS. Обновление уже доступно.

Как сменить часовой пояс на Windows XP?

Для смены часового пояса в XP нам понадобится скрипт, вернее даже команда, которую мы будем применять с использованием групповых политик, при входе пользователя в систему через Logon скрипт.

Нам необходимо, что групповые политики применялись только на машины с Windows XP. Как это сделать?  Это можно организовать с помощью WMI фильтров.  Рассмотрим подробнее.

Создаем новую групповую политику и вешаем ее на весь домен или на определенный контейнер (в нашем случае, это OU с пользователями и применять мы будем на пользователя), в вашем случае, как вам удобнее.

Как сменить часовой пояс на Windows XP?

Далее заходим в свойства созданной политике. Далее нажимаем правой кнопкой на созданную политику и заходим в свойства (properties). Тут мы будем настраивать WMI Filter, для того, что-бы созданная политика применялась только для Windows XP.

Фильтр групповых политик

Далее создаем фильтр со следующими значениями:

В поле Queries: пишем строку root\cimv2 select from win32_operatingsystem where caption = «microsoft windows xp professional»

Данная строка говорит, что выбирать только версию Microsoft Windows XP Professional. Поля Имя и описание заполняем по своему усмотрению.

Group_policy_WMI_filer2

После того как фильтр создан. Нажимаем ок и прикрепляем его к групповой политике.

Group_policy_WMI_filer3

Все, теперь политика у нас применяется только на Windows XP.

Далее нам необходимо создать скрипт. Скрипт будет выполнятся при входе пользователя на компьютере с Windows XP и менять ему часовой пояс на (UTC+03:00) Багдад. (Данный часовой пояс выбран случайно, можно выбрать любой у которого зона как у Москвы, желательно выбирать тот, у которого нет галочки автоматического перехода).

Открываем блокнот, пишем туда следующую команду: control.exe timedate.cpl,,/Z Arabic Standard Time

Сохраняем файл в расширении cmd и кладем на шару, обычно такой шарой является стандартные папки контроллеров домена, где лежат скрипты. Или можно использовать любую шару, но в нее должен быть доступ для всех пользователей на чтение и исполнение.  Этот cmd будет использоваться в качестве выполняемого файла при входе пользователя.

Добавляем cmd в созданную групповую политику.

Смена часового пояса в Windows XP скрипт и групповые политики

Смена часового пояса в Windows XP скрипт и групповые политики

Нажимаем ок.

Итоги: При установленном обновлении KB2998527 часовой пояс должен поменяться автоматически (применимо для Windows Vista и выше). Для Windows XP мы применяем групповую политику, описанную выше, которая меняет часовой пояс на UTC +3.  Данной решение не является эталоном, но все-таки является решением. Будем наедятся, что Microsoft все-таки выпустит некий Patch, который избавит от такого шаманства.

UPD! 27.10.2014

Способ №2 более продвинутый. Смена часового пояса с помощью .reg файла, который  добавляет новый пояс в старые операционные системы.

Скрипт был найден на просторах интернета, он добавляет в ветку реестра новые часовые пояса, применять его необходимо только на XP, 2000. В Windows Vista,7 и Windows Server 2008 и выше есть патч.

  1. Сначала нам необходимо добавить разрешение в групповые политики, которое позволит записывать значения в ветку реестра от имени пользователя. Добавляем разрешение на запись, на ветку указанную на скриншоте на вашдомен\Пользователи домена\запись. Групповую политику применяем на компьютеры.

 

Смена часового пояса

2.Дальше скачиваем .reg файл который добавляет новые зоны. После этого кладем .reg файл в папку со скриптами, обычно это папка \\ваш домен\Sysvol\ваш домен\policies и тд.

3. Вешаем групповую политику с логон скриптом time.cmd.   (этот скрипт применит .reg файл на пользовательский компьютер и после выставит пояс Moscow по умолчанию). Соответственно если вам нужен другой пояс, отредактируйте time.cmd и выберите нужный.

Не забудьте применить фильтр WMI на политику, иначе скрипт отработает не только на Windows XP а еще и на другие ОС.

UPD 13:30  У кого не срабатывает, заходим  «Конфигурация компьютера» -> «Параметры безопасности» -> «Локальные политики» -> «Назначение прав пользователя» -> параметр «Изменение системного времени». Добавляем «Пользователи домена».  Спасибо Антону за подсказку. 

Решение в данный момент подходит только для групп пользователей включенных в POWER USERS. Обычные Domain USERS не смогут изменить настройки пояса. Ищем решение….

UPD 19.32

Решение найдено. Нужно выставить права на редактирование ветки HKLM\System\CurrentControlSet\Control\TimeZoneinformation через Computer Configuration\Windows setting\Security Setting\Registry для Вашдомен\Domain Users

Также Computer Configuration\Windows setting\Security Setting\Local polices\User right Assignment
Change The system time добавить группы: вашдомен\domain users и для верности вашдомен\domain admins.

poloska

Посмотреть другие статьи из раздела Microsoft Windows Server. Вернуться на главную страницу.

 

На ту же тему
Обсуждение: оставлено 28 коммент.
  1. AlexSan:

    Подскажите, а как выбрать другой пояс, например не Багдад?

    • Вы можете посмотреть в реестре HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time zone
      Там есть список всех зон, просто заменяете в CMD Arabic Standard Time на любую из списка

  2. Скажите, а почему вы применяете .reg файл через скрипт, почему нельзя воспользоваться стандартным меню из GPO?

    • Валентин добрый день!
      да, можно и стандартным меню. Просто инструкция писалась по 2003му серверу, там нет этой вкладки. Разницы не какой. Если возникнут вопросы, общайтесь

  3. Да вы правы, в OWA действительно есть проблема. Занимаемся поисками решения, как найдем я отпишусь

  4. Anton:

    У пользователей ограниченные учетные записи. Поэтому выдает ошибку — Недостаточно прав для изменения системного времени. На ветку в ГПОHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time zone дал права Пользователям домена, но безрезультатно

    • Такого не должно быть, проверьте что политика действительно применилась. Вы можете применить вручную на компьютере с помощью локальных политик, на пк наберите gpedit.msc и пропишите там. Получается если у вас пользователь с ограниченными правами, вы должны прописать права на ветку реестра именно для этих пользователей (например ваш домен\пользователи домена изменить). Ошибка, о которой вы пишите возникает именно тогда, когда нет прав на изменения этой ветки — соответственно, права не применились.

      • 2life:

        Важное замечание, даже если у вас Windows Server 2008 R2, то WMI фильтр нужно указать, как написано в статье:
        SELECT * FROM Win32_OperatingSystem WHERE Caption = «Microsoft Windows XP Professional»
        Новый вариант, почему-то клиентские машины не воспринимают:
        SELECT * FROM Win32_OperatingSystem WHERE Version = «5.1%» AND ProductType = «1»

      • Добавил еще 1 пункт ГП и сообщение об ошибке ушло:
        «Конфигурация компьютера» -> «Параметры безопасности» -> «Локальные политики» -> «Назначение прав пользователя» -> параметр «Изменение системного времени». Добавляем «Пользователи домена».
        Правда, чтобы время действительно на час назад перешло, нужно два раза перезагрузиться. (Так как при первом входе в систему меняется только зона на +3, но время остается прежним. После Перезагрузки все ок.)

  5. Алексей:

    У меня такая же ошибка была сначала, но после того дал дал такие права — Главная проблема не решилась!

    — на машине с XP часовой пояс появился и поставился, НО — время то обратно не сдвигается!
    даю команду net time \\домен /set /y — пишет правильное время на домене, пишет команда выполнена успешно,
    а на самой машине время остается на час вперед. У часового пояса не убирается галка «автопереход на летнее время и обратно», и вообще не дает часовой пояс сменить! — Так что этот рег. файл точно лучше не применять — не известно с какой версии виндус его стянули, и зачем ради одного часового пояса в нем все?

  6. Странная у вас проблема, reg файл вполне рабочий, мы применили на 800 ПК, полет нормальный. А применять его нужно только XP и ниже с помощью WMI фильтров.. Рег файл откройте, он просто добавляет часовые пояса,а cmd выставляет его по умолчанию. Давайте попробуем разобраться. Попробуйте выполнить то, что написал Anton

    • Оказалось под правами пользователя домена — просто появилась возможность запускать аплет Дата Время,
      но смена часового пояса не сохраняется. Через ГП домена менять системное время разрешил, а вот разрешение на смену часового пояса — что есть что нет — под юзером это всё можно пощупать, но изменения не сохраняет.

  7. У нас просто юзеры сидят в группах Power users, вроде все работает. Нужно копать в сторону прав, где именно не хватает.

    • ))) — так с этого надо было начинать… ваше решение не работает с обычными пользователями домена…
      — копать надо в смену часового пояса через конфигурацию компьютера, логон скриптом или еще как то…
      но у меня пока не получается…

  8. Ну как-то в голову не пришло, что может быть такая беда. Попробую на обычном юзере, отпишусь тогда. Если найдете решение, напишите тогда . Буду благодарен )

  9. Решение найдено. Нужно выставить права на редактирование ветки HKLM\System\CurrentControlSet\Control\TimeZoneinformation через Computer Configuration\Windows setting\Security Setting\Registry

    А так же Computer Configuration\Windows setting\Security Setting\Local polices\User right Assignment
    Change The system time добавить группы: вашдомен\domain users и для верности вашдомен\domain admins

    Попробуйте.

  10. 2life:

    Патч применился, но часы все равно на час вперед идут. Ручной перевод обратно, не помогает, через некоторое время (период синхронизации с DC) они опять идут на час вперед.
    Net Time показывает
    Текущее время на \\DC1 равно 10/28/2014 10:24 AM

    Местное время (GMT+03:00) на \\DC1 — 10/28/2014 9:24 AM

    Команда выполнена успешно.

    Хотя на самом деле время на DC1 правильное.

  11. 2life:

    Предпологаю, что это из-за того, что патч на сервер был установлен после 26 октября. Как вернуть ума не приложу.

  12. Дмитрий:

    Рег-файл по ссылке какой-то неправильный, либо я чего-то не понимаю. Иркутск. Перешли на тайм-зону +08. Однако в файле видим прежнее значение: «(UTC+09:00) Irkutsk»

  13. Да, подтверждаю , к сожалению Иркутск действительно неправильно

  14. 2life:

    Что делать, почему на час вперед время под XP, при установленном правильном часовом поясе то?

  15. 2life
    Значит нет доступа на смену часового пояса. Попробуйте выбрать часовой пояс (другой) и нажать применить. Если изменения не двигают стрелку часов — значит у юзера нет доступа на смену таймзоны.
    Либо заходить под админом — менять ручками пояс
    Либо
    Нужно выставить права на редактирование ветки (Пользователям домена) HKLM\System\CurrentControlSet\Control\TimeZoneinformation через Computer Configuration\Windows setting\Security Setting\Registry

  16. 2life:

    Не в этом дело, а в том, что на 7ке и сервере вывод команды такой:
    C:\Windows\system32>w32tm /tz
    Часовой пояс: Текущий:TIME_ZONE_ID_STANDARD Сдвиг: -180мин (UTC=LocalTime+Bias)
    [Зимнее время:»RTZ 2 (зима)» Сдвиг:0мин Дата:(M:10 D:5 DoW:0)]
    [Летнее время:»RTZ 2 (зима)» Сдвиг:-60мин Дата:(M:1 D:1 DoW:3)]

    А под XP сдвига нет, и то, и то 0мин

  17. 2life:

    Кажется нашёл виновника под XP:, это KB2570791
    Надо его удалять предварительно, но уже поздно, файл реестра перебил все названия на английские. (((

  18. Timenow:

    Коллеги имеющие домен, в кратце пишу каким способом сделал я, прочитав эту статью и статью на хабре http://habrahabr.ru/post/240645/, я пришел к итогу: в моей сети были машины с патчем 2011 и без него в часовом поясе AbuDabi, дабы не испытывать сложностей с автоматич. переходом на летнее время, я использовал новые значения реестра с этого сайта нужного мне ( МСК) часового пояса, но:
    1. Изменил TZI параметр, позаимствовав его у зоны Nairobi. После чего внес изменения в реестр на виртуальном тестовом хосте.
    2. Далее создал новую политику на домен контроллере (2008), и открыл ее на редактирование,
    открыл нужный раздел для внесения изменений в реестр: Computer Configuration\Preferences\Windows Settings\Registry: сделал New collection Item ( нечто новой папки для удобного складирования параметров реестра), далее запустил Register wizard, и указал another computer ( он же мой тестовый хост, с уже нужным мне реестром) далее выбрал нужный мне часовой пояс, и обязательно галочками выбрал все его параметры, и финиш. После чего все значения у вас вся ветка реестра, включая конечные значения, которые каждые по отдельности нужно открыть и во второй вкладке сделать Item-level targetting, далее кнопка Targetting и выбираем Date Match, затем я выбрал on date и нужную мне дату.
    3. В этой же политике в разделе Computer Configuration\Policies\Windows settings\Scripts добавляем скрипт файл change_time_zone_XP.cmd с содежимым внутри ( в моем случае МСК пояс) : control.exe timedate.cpl,,/Z Russian Standard Time
    4. Для ускорения применения нового пояса, в юзер старт логон скрипт я добавил: gpupdate /force
    5. Когда юзер включает свой хост, политики обновляются, если пояс не обновился, то просим пользователей делать перезагрузку.
    На этом всё, удачи всем в централизированном управлении вашей сетью!
    P.S. Мой реестровый модиф. пояс, параметр TZI подойдет по крайней мере для поясов +3, возможно и для других поясов :
    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\Russian Standard Time]
    «Display»=»(GMT+03:00) Moscow, St. Petersburg, Volgograd (RTZ 2)»
    «Dlt»=»Russia TZ 2 Daylight Time»
    «Std»=»Russia TZ 2 Standard Time»
    «MapID»=»6,7»
    «Index»=dword:00000091
    «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

  19. Timenow благодарю вас за подробную инструкцию, она обязательно пригодится тем кто еще не разобрался.

Поделитесь своим мнением
Для оформления сообщений Вы можете использовать следующие тэги:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

 Акция!
 Последние коментарии
≡  Рубрики
Свежие записи
Информационные технологии © 2016 ·   Войти   · Все права защищены © Phoenix. Наверх