Войти

Показать полную графическую версию : [BAT\CMD] Универсальное обновление часового пояса (time zone) на Windows XP


stanislav.poddubskiy@fb
11-10-2014, 03:08
Доброго времени суток, друзья! У меня есть вопрос касательно совсем не большого скрипта. Как сделать так что бы выбирался тот же часовой пояс, что и был раннее на машине?
Теперь обо все по порядку.
Есть скрипт вот такой не хитрый:

set current dir=%cd%
regedit /s Russian_tz_2014.reg
control.exe timedate.cpl,,/z Russian standard time

Теперь вопрос: этот скрипт должен применятся на разных компьютерах, в разных городах, на разных компьютерах с Windows XP (скрипт умеет определять установлен или ХР или 7, для краткости я просто решил пропустить этот кусок кода), с различными часовыми поясами через политики. Данный reg файл применяется к компьютеру, чтоб заменить текущие часовые пояса на новые, которые должны будут вступить 26 октября. При применении данного скрипта, допустим, в Екатеринбурге, екатеринбургский часовой пояс заменится московским, что не допустимо. Если к примеру я из скрипта удаляю тайм зону Russian standard time и оставляю только control.exe timedate.cpl,,/z то по завершению скрипта у меня открывается окно "Свойства: Дата и время", которое можно просто закрыть крестиком или кнопкой Закрыть, после чего стрелки переводятся на час назад. К сожалению этот вариант не допустим так как у конечного пользователя не будет возможности нажать кнопку закрыть при следующей загрузки компьютера когда скрипт применится, по двум причинам: 1) у них нет на это прав. 2) это окошко при стартапе системы сразу открывается и закрывается и время не меняется. У меня есть кое-какие соображения, но реализовать их не могу: 1) Это добавить в скрипт некую команду, ключ или параметр, который бы подтверждал или просто закрывал это окошко и время бы менялось. 2) Может быть есть какая-то универсальная тайм зона которую можно прописать вместо Russian standard time и тогда бы окошко с выбором тайм зоны не открывалось и при этом сохранялась бы текущая тайм зона и стрелки бы перешли бы на час назад. 3) Если это возможно, то поиск в cmd по реестру в ветке hkey_local_machine\system\currentcontrolset\control\timezoneinformation строковый параметр "Standard name"="Уральское время (зима)", копировала бы его и вставляла в control.exe timedate.cpl,,/z вместо Russian standard time. Скажите друзья, реально ли сделать, то что мне нужно или нет? За раннее спасибо за ответы.

ip_runner
18-10-2014, 19:31
Цитата stanislav.poddubskiy@fb:
control.exe timedate.cpl,,/z Russian standard time »
заменить на
control.exe timedate.cpl,,/z Ekaterinburg Standard Time

или использовать утилиты командной строки
для XP
tzchange.exe /с "Ekaterinburg Standard Time"
для Win7
tzutil.exe /s "Ekaterinburg Standard Time"




© OSzone.net 2001-2012