Ладно. Редактор
TZedit.exe есть, придётся вручную править, затем делать командный файл (для автоматической правки регистра) и запускать его.
[spoiler] как можно видеть, — труд не великий, но кропотливый:
— увеличиваем на +1 текущий Utc и
— убираем «галочку».
однако следует иметь в виду, что убрав «галочку» смены на летнее время и вдруг возжелав вернуть всё обратно, получаем пустые поля:
Чтобы это «пограмотнее» обойти (естественно, в рамках предлагаемого решения) можно сделать следующее:

[/spoiler] Что характерно, в сети уже пишут командные файлы
Скрипты для накатывания и откатывания обновления kb2570791. [spoiler]install_kb2570791.cmd [spoiler]@echo on
rem скрипт установки kb2570791
rem Обход на случай отсутствия %temp%
if not exist "%TEMP%" (set TEMP=C:\WINDOWS\TEMP)
rem Источник с дистрибутивами обновления. Если общая папка - обязательно на сервере Windows Server, чтобы не было ограничения на число одновременных подключений
set install_location=\\server\share\kb2570791
rem Сюда будут выгружаться логи в формате %computername%.log
set log_location=\\server\share\kb2570791\log
rem Здесь будет сохранен подробный лог инсталлятора (для отладки)
set install_log_location=%temp%\tz_update.log
rem Для сохранения errorlevel
set install_result=
rem Папка для локального копирования обновления
set local_location=%temp%
rem Для удобства переименовываем обновление в такое имя (в зав-ти от версии ядра ОС и инсталлятора)
set local_name_5=tz_update.exe
set local_name_6=tz_update.msu
rem Исходные имена файлов-обновлений
set xp_rus=WindowsXP-KB2570791-x86-RUS.exe
set xp_enu=WindowsXP-KB2570791-x86-ENU.exe
set w2003_rus_x86=WindowsServer2003-KB2570791-x86-RUS.exe
set w2003_enu_x86=WindowsServer2003-KB2570791-x86-ENU.exe
set w2003_rus_x64=WindowsServer2003.WindowsXP-KB2570791-x64-RUS.exe
set w2003_enu_x64=WindowsServer2003.WindowsXP-KB2570791-x64-ENU.exe
set w2008_vista_x86=Windows6.0-KB2570791-x86.msu
set w2008_vista_x64=Windows6.0-KB2570791-x64.msu
set w2008r2_7_x86=Windows6.1-KB2570791-x86.msu
set w2008r2_7_x64=Windows6.1-KB2570791-x64.msu
echo ------------------------------ >> %log_location%\%computername%.log
echo %date% %time% >> %log_location%\%computername%.log
rem Почистим файлы, если вдруг такие были
if exist "%local_location%\%local_name_5%" echo y | del /f "%local_location%\%local_name_5%"
if exist "%local_location%\%local_name_5%" echo y | del /f "%local_location%\%local_name_6%"
rem Определим версию ОС и скопируем нужный инсталлятор
for /f "tokens=2,3 delims=[]." %%i in ('ver.exe') do (echo %%i.%%j.%PROCESSOR_ARCHITECTURE% >> %log_location%\%computername%.log
if "%%i.%%j.%PROCESSOR_ARCHITECTURE%"=="Версия 5.1.x86" echo f | xcopy "%install_location%\%xp_rus%" "%local_location%\%local_name_5%" /r /y /z 2>> %log_location%\%computername%.log
if "%%i.%%j.%PROCESSOR_ARCHITECTURE%"=="Version 5.1.x86" echo f | xcopy "%install_location%\%xp_enu%" "%local_location%\%local_name_5%" /r /y /z 2>> %log_location%\%computername%.log
if "%%i.%%j.%PROCESSOR_ARCHITECTURE%"=="Версия 5.2.x86" echo f | xcopy "%install_location%\%w2003_rus_x86%" "%local_location%\%local_name_5%" /r /y /z 2>> %log_location%\%computername%.log
if "%%i.%%j.%PROCESSOR_ARCHITECTURE%"=="Version 5.2.x86" echo f | xcopy "%install_location%\%w2003_enu_x86%" "%local_location%\%local_name_5%" /r /y /z 2>> %log_location%\%computername%.log
if "%%i.%%j.%PROCESSOR_ARCHITECTURE%"=="Версия 5.2.AMD64" echo f | xcopy "%install_location%\%w2003_rus_x64%" "%local_location%\%local_name_5%" /r /y /z 2>> %log_location%\%computername%.log
if "%%i.%%j.%PROCESSOR_ARCHITECTURE%"=="Version 5.2.AMD64" echo f | xcopy "%install_location%\%w2003_enu_x64%" "%local_location%\%local_name_5%" /r /y /z 2>> %log_location%\%computername%.log
if "%%i.%%j.%PROCESSOR_ARCHITECTURE%"=="Version 6.0.x86" echo f | xcopy "%install_location%\%w2008_vista_x86%" "%local_location%\%local_name_6%" /r /y /z 2>> %log_location%\%computername%.log
if "%%i.%%j.%PROCESSOR_ARCHITECTURE%"=="Version 6.0.AMD64" echo f | xcopy "%install_location%\%w2008_vista_x64%" "%local_location%\%local_name_6%" /r /y /z 2>> %log_location%\%computername%.log
if "%%i.%%j.%PROCESSOR_ARCHITECTURE%"=="Version 6.1.x86" echo f | xcopy "%install_location%\%w2008r2_7_x86%" "%local_location%\%local_name_6%" /r /y /z 2>> %log_location%\%computername%.log
if "%%i.%%j.%PROCESSOR_ARCHITECTURE%"=="Version 6.1.AMD64" echo f | xcopy "%install_location%\%w2008r2_7_x64%" "%local_location%\%local_name_6%" /r /y /z 2>> %log_location%\%computername%.log
)
rem Разные способы установки для разной версии ОС
if exist "%local_location%\%local_name_5%" goto 5_core
if exist "%local_location%\%local_name_6%" goto 6_core
echo Error - No file to install! >> %log_location%\%computername%.log
goto exit
:5_core
echo Starting update >> %log_location%\%computername%.log
start /wait "Update" "%local_location%\%local_name_5%" /quiet /norestart /log:"%install_log_location%"
set install_result=%errorlevel%
if "%install_result%"=="0" echo Installed OK >> %log_location%\%computername%.log
if not "%install_result%"=="0" echo Error - Installer error %install_result%! >> %log_location%\%computername%.log
goto exit
:6_core
echo Starting update >> %log_location%\%computername%.log
start /wait "Update" wusa.exe "%local_location%\%local_name_6%" /quiet /norestart /log:"%install_log_location%"
set install_result=%errorlevel%
if "%install_result%"=="0" echo Installed OK >> %log_location%\%computername%.log
if not "%install_result%"=="0" echo Error - Installer error %install_result%! >> %log_location%\%computername%.log
goto exit
rem Примеры:
rem Удаленная одновременная установка - на несколько компьютеров, по строчке на каждый, запускать от доменного админа
rem start "update" psexec \\computer -u domain\administrator -p password -h -e cmd.exe /c \\server\share\install_kb2570791.cmd
rem или через AT/планировщик
rem Локальное удаление
rem 5_core
rem %WINDIR%\$NtUninstallKB2570791$\spuninst\spuninst.exe /quiet /norestart
rem 6_core
rem wusa.exe /uninstall /kb:2570791 /quiet /norestart
rem Удаленное удаление
rem 5_core
rem psexec \\computer -u DOMAIN\administrator -h -e %WINDIR%\$NtUninstallKB2570791$\spuninst\spuninst.exe /quiet /norestart
rem 6_core
rem psexec \\computer -u DOMAIN\administrator -h -e wusa.exe /uninstall /kb:2570791 /quiet /norestart
:exit[/spoiler] install_kb2570791_runner.cmd [spoiler]rem Удаленная одновременная установка - на несколько компьютеров, по строчке на каждый.
rem Нужны открытые порты netbios/rpc и права администратора.
rem Без одновременного запуска не успеть установить, т.к. на одной машине установка занимает до 5 минут.
rem Запускать на сервере, способном на запуск большого числа процессов одновременно
rem start "update" psexec \\computer -u domain\administrator -p password -h -e cmd.exe /c \\server\share\kb2570791\install_kb2570791.cmd
start "update" psexec \\computer1 -u domain\administrator -p p@ssw0rd -h -e cmd.exe /c \\server\share\kb2570791\install_kb2570791.cmd
start "update" psexec \\computer2 -u domain\administrator -p p@ssw0rd -h -e cmd.exe /c \\server\share\kb2570791\install_kb2570791.cmd
...[/spoiler] install_kb2570791_remover.cmd [spoiler]rem Удаленное одновременное удаление
rem 5_core
rem psexec \\computer -h -e %WINDIR%\$NtUninstallKB2570791$\spuninst\spuninst.exe /quiet /norestart
rem 6_core
rem psexec \\computer -h -e wusa.exe /uninstall /kb:2570791 /quiet /norestart
start "update" psexec \\computer1 -u domain\administrator -p p@ssw0rd -h -e %WINDIR%\$NtUninstallKB2570791$\spuninst\spuninst.exe /quiet /norestart
start "update" psexec \\computer2 -u domain\administrator -p p@ssw0rd -h -e %WINDIR%\$NtUninstallKB2570791$\spuninst\spuninst.exe /quiet /norestart
...
start "update" psexec \\computer1 -u domain\administrator -p p@ssw0rd -h -e wusa.exe /uninstall /kb:2570791 /quiet /norestart
start "update" psexec \\computer2 -u domain\administrator -p p@ssw0rd -h -e wusa.exe /uninstall /kb:2570791 /quiet /norestart
...[/spoiler] Disclaimer: Все вышенаписанное представляет собой фантазии автора и не имеет отношения к реальной жизни.
Взято отсюда. Цитата:
Вылезли проблемы во всем технологическом ПО, которое сохраняет или передает информацию, используя метку времени и информацию о смещении локального времени относительно Utc. Т.к. для такого софта установка патча == миграция в соседнюю таймзону. Если на одном из участников обмена/пользователей ПО обновление установлено, а на другом - нет, данные приходят со сдвигом на час - наступает бардак.
[/spoiler]
[hr]
dmitry_m писал(а):
Про отмену летнего времени патча еще нет
[spoiler]Чтобы оценить, насколько быстро в Windows обычно выходят обновления для часовых поясов России, могу вам привести несколько фактов:
- В марте 2010 в России исчез часовой пояс UTC+4 (Самара, Ижевск), их присоединили к московскому времени (UTC+3). Но за все долгие годы существования этого часового пояса разработчики Windows так и не выпустили обновления, чтобы добавить в Windows поддержку этого часового пояса. По версии Microsoft в России этого часового пояса как бы и не было.
- В марте 2010 в России исчез часовой пояс UTC+12 (Чукотка, Камчатка), их присоединили к магаданскому времени (UTC+11). Обновление Windows, в котором удалялся этот часовой пояс вышло только в мае 2010. (всего через пару месяцев, для разработчиков Microsoft это просто рекорд в данной сфере).
- Снова про часовой пояс UTC+12 (Чукотка, Камчатка). Долгие годы, пока он существовал, в Windows не было поддержки летнего времени для этого часового пояса. Т.е. разработчики Microsoft посчитали, что во всей России есть переход на летнее время, а вот на Чукотке/Камчатке его якобы и нет. Поэтому пользователям Windows этих регионов приходилось или ручками два раза в год переставлять часовые пояса (или само время) или же редактировать системные настройки часовых поясов ручками в системном реестре или с помощью утилиты TZedit.exe, чтобы добавить туда возможность автоматического перехода на летнее время.
Обновление Windows, которое добавляет поддержку перехода на летнее время для Чукотки/Камчатки, вышло всего лишь за полгода до исчезновения самого этого часового пояса (в августе 2009). - То же самое и с магаданским часовым поясом (UTC+11). Во всех версиях Windows много лет считалось, что и в Магадане у нас нет перехода на летнее время. А патч, который добавляет в Windows поддержку летнего времени для Магадана, вышел совсем недавно, в декабре 2010 (KB2443685).
Можете самостоятельно посчитать, сколько в среднем лет требуется компании Microsoft для обновления информации о часовых поясах России.[/spoiler] Примерно то же самое, что и с помощью
TZedit.exe можно сделать для Москвы с помощью пакетного файла изменения зоны UTC [spoiler]
»»» источник
UTC4.reg
Код:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\Russian Standard Time]
"Display"="(UTC +4:00) Москва, Санкт-Петербург, Волгоград"
"Dlt"="Московское летнее время (лето)"
"Std"="Московское летнее время (зима)"
"MapID"="6,7"
"Index"=dword:00000091
"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
[/spoiler]