Cambio de hora en Chile: parte 3 - Recomendaciones técnicas
Primera recomendación, esto es para administradores y debe ser leído atentamente antes de hacerlo. No hagan esto en casa niños :)
Primera salvedad el horario de verano se extiende por lo tanto el cambio que ocurría este sábado ocurrirá el:
Fin del horario de verano: último sábado de marzo a las 23:59:59 (29 de marzo de 2008)
Dado que este es un cambio transitorio, los sistemas operativos Windows no reflejan este cambio, es decir, la nueva fecha de finalización del horario de verano.
Dado que el proceso de generación de actualizaciones es un proceso que pasa por un testing exhaustivo y la premura de este cambio, dado que el decreto recién se firmó el 27 de febrero, no había tiempo suficiente de hacerlo.
Para aminorar los posibles problemas son las siguientes recomendaciones.
Recomendaciones generales para usuarios de Windows:
1. A fin de poder actualizar los sistemas operativos Windows para computadores personales, recomendamos a los administradores cambiar la información de zona horaria para Chile almacenada en el registro con el objetivo de que refleje la extensión del horario de verano. Lea la sección “Cómo actualizar sistemas operativos para computadores de escritorio y servidores Windows” del documento adjunto, para obtener detalles sobre los pasos recomendados.
2. No ajuste el reloj del equipo en forma manual. Si lo hace, puede ocasionar problemas en su entorno y esta medida no es recomendada ni respaldada por Microsoft.
3. Antes de aplicar los cambios en Sistemas operativos Windows para que reflejen la nueva fecha de finalización del horario de verano en Chile, tenga en consideración los posibles problemas que afectarán a Microsoft Office Outlook y Exchange Server. Lea las secciones de “Impacto para clientes de Outlook en Chile” para obtener más detalles en el documento adjunto.
4. Comuníquese con Soporte de Microsoft al 800 330 600 antes de implementar cualquier modificación si no está seguro acerca de los pasos que debe seguir para preparase para los cambios de horario de verano en Chile.
Ahora veamos Cómo Actualizar los sistemas operativos para servidores y computadores de Escritorio
Todo esto esta basado en el artículo:
914387 – Cómo configurar el horario de verano para sistemas operativos Microsoft Windows https://support.microsoft.com/default.aspx?scid=kb;EN-US;914387
Ojo que la versión de este KB aún no contiene la información de las nuevas configuraciones horarias de Chile, así que siga leyendo el siguiente paso a paso...
1. Cree un archivo de registro que contenga las nuevas configuraciones de horario de verano para Chile siguiendo los pasos a continuación:
1.1 Haga clic en Inicio, luego en Ejecutar, escriba notepad.exe y luego haga clic en Aceptar.
1.2 Copie la siguiente información de registro y luego péguela en el documento de Bloc de notas:
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\Pacific SA Standard Time] "TZI"=hex:f0,00,00,00,00,00,00,00,c4,ff,ff,ff,00,00,03,00,06,00,05,00,17,00,3b,\ 00,3b,00,00,00,00,00,0a,00,06,00,02,00,17,00,3b,00,3b,00,00,00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\Pacific SA Standard Time\Dynamic DST] "FirstEntry"=dword:000007d7 "LastEntry"=dword:000007d8 "2008"=hex:f0,00,00,00,00,00,00,00,c4,ff,ff,ff,00,00,03,00,06,00,05,00,17,00,3b,\ 00,3b,00,00,00,00,00,0a,00,06,00,02,00,17,00,3b,00,3b,00,00,00 "2007"=hex:f0,00,00,00,00,00,00,00,c4,ff,ff,ff,00,00,03,00,06,00,02,00,17,00,3b,\ 00,3b,00,e7,03,00,00,0a,00,06,00,02,00,17,00,3b,00,3b,00,e7,03
1.3 En el menú Archivo, haga clic en Guardar como.
1.4 Seleccione un destino y luego escriba TZupdate.reg en el cuadro de nombre de Archivo.
1.5 En el cuadro de Guardar como tipo, haga clic en Todos los archivos y luego en Guardar.
2. Importe esta clave de registro a los equipos de destino al hacer doble clic en TZupdate.reg y hacer clic en ‘Sí’ cuando le pregunten. Todos los equipos (clientes y servidores) deben actualizarse con esta información de registro.
3. Para poder implementar estos cambios de zona horaria en un entorno corporativo, puede usar un programa de inicio como se describe en la sesión “Implementar el archivo de registro con la nueva información de horario de verano usando una Política de grupo” abajo.
Nota: las configuraciones de registro antes mencionadas contienen la siguiente información para la zona horaria “(GMT-04:00) Santiago”:
- El horario de verano comienza: el segundo sábado de octubre a las 23:59:59 hora local estándar
- El horario de verano finaliza: el último sábado de marzo a las 23:59:59 hora de verano local.
Ahora esto no termina ya que tenemos que asegurarnos que quede correcto en todas partes....
Use un script para volver a cargar la clave de registro TimeZoneInformation
La información de zona horaria está almacenada en dos ubicaciones. Debemos asegurarnos de actualizar ambas ubicaciones. La importación del archivo TZupdate.reg actualiza la base de datos de zona horaria en el registro. Luego, debe crear un programa fuente que actualice la clave de registro de información de zona horaria en CurrentControlSet. Puede implementar este programa fuente al usar una Política de grupo u otro mecanismo de implementación.
El script identifica la zona horaria actual del computador del cliente y luego vuelve a cargar la clave de registro de TimeZoneInformation con la información actualizada de la base de datos de zona horaria. Después, el programa fuente escribe un evento en el registro Aplicación del computador del cliente donde se ejecutó el programa fuente.
Para crear el archivo de script, siga estos pasos:
1. Haga clic en Inicio, luego en Ejecutar, escriba notepad.exe y presione Entrar
2. Copie el siguiente código y luego péguelo en el documento de Bloc de notas.
Set objSh = CreateObject("WScript.Shell")'Get the StandardName key of the current time zone
szStandardName = objSh.RegRead("HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation\StandardName")
'Enumerate the subkeys in the time zone database
const HKEY_LOCAL_MACHINE = &H80000002
Set objReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv")
szTzsKeyPath = "SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones"
objReg.EnumKey HKEY_LOCAL_MACHINE, szTzsKeyPath, arrTzSubKeys
'Step through the time zones to find the matching Standard Name
szTzKey = "<Unknown>"
For Each subkey In arrTzSubKeys
If (objSh.RegRead("HKLM\" & szTzsKeyPath & "\" & subkey & "\Std") = szStandardName) Then
'Found matching StandardName, now store this time zone key name
szTzKey = subkey
End If
Next
If szTzKey = "<Unknown>" Then
'Write entry to the Application event log stating that the update has failed to execute
objSh.LogEvent 1, "DST 2007 Registry Update and Refresh failed to execute on this computer. Time zones failed to enumerate properly or matching time zone not found."
Wscript.Quit 0
End If
Dim process, processid, result, strUpdateCommand
Set process = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2:Win32_process")
'Add time change privilege to the process object
process.Security_.Privileges.AddAsString "SeSystemTimePrivilege",True
strUpdateCommand = "control.exe timedate.cpl,,/Z" & szTzKey
'Launch control.exe to refresh time zone information using the TZ key name obtained above
result = process.create(strUpdateCommand,Null,Null,processid)
If result <> 0 Then
objSh.LogEvent 1, "DST 2007 Registry Update and Refresh failed to execute on this computer. Unable to refresh the Timezone database."
Wscript.Quit 0
End If
'Get current display name of refreshed time zone
szCurrDispName = objSh.RegRead("HKLM\" & szTzsKeyPath & "\" & szTzKey & "\Display")
'Write entry to the Application event log stating that the update has executed
objSh.LogEvent 4, "DST 2007 Registry Update and Refresh has been executed on this computer." & chr(13) & chr(10) & chr(13) & chr(10) & "Current time zone is: " & szCurrDispName & "."
3. en el menú Archivo, haga clic en Guardar como
4. Seleccione un destino y luego escriba “refreshTZinfo.vbs” en el cuadro de nombre de Archivo.
5. En el cuadro Guardar como tipo, haga clic en Todos los archivos y luego en Guardar.
Ojo que estos son sólo ejemplos y tienen que probarlos ANTES de implementarlos.
Ahora la última parte que es implementarlo en una política de grupo.
Implementar modificaciones de horario de verano usando una Política de grupo
1. Haga clic en Inicio, luego en Ejecutar, escriba notepad.exe y luego presione Entrar.
2. Copie el siguiente código y péguelo en el documento de Bloc de notas.
@echo off
regedit /s \\contoso.com\NETLOGON\TZupdate.reg
ver |find /i "6.0">nul
IF %errorlevel% EQU 0 GOTO end
cscript \\contoso.com\NETLOGON\refreshTZinfo.vbs
:end
Nota: debe reemplazar la notación \\contoso.com arriba por el nombre de dominio DNS real para su dominio de Active Directory.
3. En el menú Archivo, haga clic en Guardar como.
4. DST2008Update.cmd en el cuadro de nombre de Archivo.
5. En el cuadro Guardar como tipo, haga clic en Todos los archivos y luego en Guardar.
6. Copie los siguientes archivos a la carpeta compartida Netlogon del controlador de dominio que se desempeña como emulador PDC en el dominio:
- TZupdate.reg
- DST2008Update.cmd
- refreshTZinfo.vbs
7. Espere hasta que se produzca la replicación en Active Directory. También espere hasta que los archivos y las carpetas en la carpeta compartida de volumen del sistema (SYSVOL) se repliquen en los controladores de dominio en el dominio.
8. Haga clic en Inicio, luego en Ejecutar, escriba control admintools y luego haga clic en Aceptar.
9. Haga doble clic en Usuarios y computadores de Active Directory.
10. Seleccione una Unidad organizacional (OU, Organizacional Unit) que contenga los computadores en los que desea aplicar este script. En este ejemplo, usaremos una OU denominada DST-COMPUTERS. Además, en este ejemplo asumimos que esta OU contiene cuentas de computadores.
11. Haga clic con el botón derecho en la OU DST-COMPUTERS y luego haga clic en Propiedades.
12. Haga clic en la ficha Política de grupo, luego en Nueva, escriba DST Registry Update y luego presione Entrar.
13. Haga clic en Editar. Se inicia la herramienta Editor de objetos de políticas de grupo.
14. Expanda Configuración del equipo, expanda Configuración de Windows y haga clic en Scripts (Inicio o Apagado).
15. Haga doble clic en Inicio y luego en Agregar.
16. En el cuadro Nombre de script, escriba la ruta de convención de nombre universal (UNC, universal naming convention) del archivo DST2008Update.cmd que está ubicado en la carpeta compartida Netlogon. Por ejemplo, escriba \\contoso.com\NETLOGON\DST2008Update.cmd.
17. Haga clic en Aceptar dos veces.
Hasta aquí con con lo que tienen que hacer los administradores. Pero ojo que:
- Las instrucciones proporcionadas arriba se pueden aplicar en sistemas operativos Windows 2000, Windows XP y Windows Server 2003; sin embargo, es posible que después de seguir estas instrucciones en un sistema operativo Windows 2003 la zona horaria actual no se actualice. En este caso, quizás deba reiniciar el equipo o ejecutar el script refreshTZinfo.vbsmanualmente.
- Las instrucciones de arriba no se pueden aplicar en sistemas operativos Windows Vista.
Mañana revisaremos las consecuencias del cambio para Outlook y Exchange, en cualquier caso toda la documentación adjunta:
Cualquier duda publíquenla aquí mismo.
Saludos, Christian.-
Technorati: Noticias , Seguridad , TechNet , Tendencias , Windows , Windows Server , Windows Vista
Comments
Anonymous
January 01, 2003
Este sábado 29 de Marzo a las 23:59:59 hrs. volveremos al horario normal de invierno, es decir,Anonymous
January 01, 2003
En virtud de la extensión del horario de verano en Chile, hemos considerado el siguiente procesoAnonymous
January 01, 2003
Con Vista hay que optar por cambiar a otra zona horaria GMT-3 . Adjunto link oficial de MS http://www.microsoft.com/chile/cambiodehora/pmf.aspxAnonymous
January 01, 2003
Yo opte por crear una zona horaria y aplicar esta a los equipos y estaciones, ya la probe y resulto OK, si gustan te envio los archivos.Anonymous
January 01, 2003
@Fernando, si desmarcas la opción de hora vas a tener problemas por la forma como se calcula la hora. Porque funciona en base a un offset. Es decir, se usa la hora UTC (similar a GMT) y se calcula hora en en base a ls siguiente ecuación: Hora: Hora UTC + Zona Horaria (positivo o negativo) + DST Donde DST es Daylight Saving Time, es decir, la hora de verano. Por ejemplo, si tenemos las 15:00 hrs en UTC, la hora sería hoy: UTC=15:00 ZonaHoraria=-4 DST=1 Hora final: 15:00 - 4:00 + 1:00 = 12:00 Esto es importante y por eso la recomendación es cambiar a una zona horaria que sea GMT-3 como “(GMT -3:00) Brasilia” Saludos, Christian.-Anonymous
January 01, 2003
@Fernando, tal como dice la pauta técnica estas instrucciones no aplican a Windows Vista. La recomendación de cambio de zona horaria manualmente a Brasilia GMT -3, está documentada en www.microsoft.com/chile/cambiodehora De igual forma lo pondré con más detalle aquí mismo. Saludos, Christian.-Anonymous
January 01, 2003
@Andrea, el cambio o vuelta atrás tendrás que hacerlo a fines de Marzo. Lo cual te dejará nuevamente en la zona horaria GMT-4:00 Santiago, lo que dejará en regimen normal la zona. Si hay otros cambios del estilo habrá que volver a los procedimientos manuales. cualquier duda avísame. saludos, Christian.-Anonymous
January 01, 2003
@Alejandro, la razon para no cambiar la hora de formal manual es porque se calcula en base a un offset que contiene el GMT. El calculo es: GMT + TimeZone (positivo o negativo) + DST (1 hora positivo en nuestro caso) @Germain, de hecho el script es válido sólo por las próximas 3 semanas, de hecho a fines de Marzo publicaremos el procedimiento de rollback necesario. Saludos, Christian.-Anonymous
January 01, 2003
Si a alguien le sirve de pauta, yo aplique la creaciòn de una nueva Zona Horaria, lo aplique sobre un dominio 2000, con miembros 2003 y clientes XP, todo ha funcionado correctamente y se han realizado los cambios a la nueva zona horaria.Anonymous
January 01, 2003
@Carlos el update no necesita rollback, si estas teniendo problemas te recomiendo leer el KB914397 donde esta la información de la zona GMT -4:00 Santiago. Saludos, Christian.-Anonymous
March 04, 2008
hola christian, bueno el articulo, muy bien explicado y practico, pero me queda una duda super trivial quizas, por que NO cambiar la hora en forma manual en los equipos personales?. ahh y que pasa con Vista?Anonymous
March 05, 2008
Cristian: Muy bien explicado, consulta: Tu estas modificando la Zona Horaria de Santiago, esta zona va a tener como definiciòn el cambio el ultimo sabado de Marzo, pero que sucede si el proximo año el gobierno decide volver antiguo horario de verano (cambio el 2 sabado de marzo), se debera volver a ejecutar un script que vuelva a cambiar la definiciòn del cambio del horario de verano?, porque no mejor cear una nueva zona horaria de forma transitoria?Anonymous
March 05, 2008
Hola Christian, sabes me aparece este error solo en los servidores 2003, al ejecutar el archivo CMD, que tengo configurado al inicio, mediante una GPO o en forma manual. De antemano muchas gracias... CMD.EXE was started with the above path as the current directory. UNC paths are not supported. Defaulting to Windows directory. Microsoft (R) Windows Script Host Version 5.6 Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.Anonymous
March 05, 2008
Hola Christian, sabes me aparece este error solo en los servidores 2003, al ejecutar el archivo CMD, que tengo configurado al inicio, mediante una GPO o en forma manual. De antemano muchas gracias... CMD.EXE was started with the above path as the current directory. UNC paths are not supported. Defaulting to Windows directory. Microsoft (R) Windows Script Host Version 5.6 Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.Anonymous
March 06, 2008
Espero esto te sirva http://support.microsoft.com/kb/156276Anonymous
March 06, 2008
Pablo, gracias pero ya habia revisado ese articulo, sin embargo mi preocupacion es que tengo aprox. 80 servidores a los que tengo que aplicar este cambio. Saludos.Anonymous
March 06, 2008
Muchas gracias Germain, pero tengo servicios criticos, por ende no deseo correr riesgos innecesarios. Agradesco enormemente tu respuesta. Saludos.Anonymous
March 06, 2008
Yo tengo un con win 2003 + estaciones de trabajo con xp,y me preocupa el tema porque todavia no veo una clara solucion.Anonymous
March 06, 2008
Linacre, Muy bueno. ¿Que sucede con los smartphones, Windows Mobile 5.0 y 6.0?Anonymous
March 06, 2008
Que resultado da si tan solo quitamos el tilde en "Cambiar la hora automáticamente según el horario de verano" ?Anonymous
March 06, 2008
Excelente viejo, afortunadamente íbamos por el mismo camino. Una consulta... sabes qué pasa con Windows Vista ? Entiendo que el formato del registro es diferente. Bastaría con generar una nueva zona horaria en Vista configurada adecuadamente ?Anonymous
March 06, 2008
que pasa con VISTA? a mi no me funciona en mi equipo... probé lo mismo en XP y ningún problema...Anonymous
March 07, 2008
Gente, Ojo que el refreshTZinfo.vbs falla el refrescar la zona en sistemas operativos en castellano Dado que la zona del .reg esta en ingles. no puede encontrar la zona en castellano La zona en ingles importada por el .reg es Pacific SA Standard Time y la zona en castellano es "Dlt"="Hora de ver. del Pacífico SA" "Std"="Hora est. del Pacífico SA" para refrescar la zona importada ejecutar en ves del vbs CONTROL.EXE TIMEDATE.CPL,,/Z Pacific SA Standard Time Este ultimo refresca la zona importada en ingles.Anonymous
March 07, 2008
Germain, Me interesa tu propuesta, es posible que me puedas enviar los archivos?... un duda ante todo, los server son ingles y los clientes español??Anonymous
March 07, 2008
muy explicativo la solucion pero como dicen algunos, que pasa si solo desmarco la opcion de cambio hora automatico para el horario de verano, en ese caso no se actualiza el horario sino es en forma manual, si alguien le pasa por favor respondaAnonymous
March 07, 2008
Como ya preguntaron, hay alguna diferencia en correr esto para servidores en español o ingles?? Saludos, CristianAnonymous
March 10, 2008
Gracias Cristian por la info. Mi pregunta es, que pasa para el próximo año si deciden volver a lo anterior, osea segundo sábado de marzo? en qué afecta correr este script. Habrá otro luego? Saludos.Anonymous
March 11, 2008
Necesito hacer el rollBack no hay documentacion al respecto ya que he aplicado el script sobre una maquina que ya tenia la hora adelantada y esto afecto adelantando una hora mas segun creo fue la aplicación de este script la que provoco adelantar una hora mas.. quien tiene info del rollback necesario. saludosAnonymous
March 11, 2008
NECESITO EL ROLLBACK PLEASE por que aplique el cambio pero me sumo 1 hora osea cuando es horario verano EJ: 2:00 y invierno 1:00 cuando aplique el script cambio a 3:00 .. asi que necesito el archivo que repara o saca la instalacion del registro saludos Atte.CarlosAnonymous
April 17, 2008
Si te entiendo pero para el proximo año que sucedera? el equipo no cambiara la hora hasta que sea el dia que se señalo para cambiar la hora. leere el documento que me señalas. saludos Atte. CarlosAnonymous
January 12, 2011
estimado tengo el mismo problema de @carlos... de que forma puedo dar solucion???