Cambio Horario en la Republica Argentina
 


De acuerdo a lo resuelto por el Gobierno de la República Argentina, el horario de GMT -3 deberá ser cambiado a GMT -2 a partir del 28/12/2007 hasta el 16/03/2008, en que volverá al correspondiente GMT -3

El camino largo y el camino corto

Hay varias formas de aplicar estos cambios, algunas más cortas y otras más largas, pero es la mejor forma de aplicar estos cambios dependerá exclusivamente del escenario en el que los cambios han de aplicarse.

El camino largo

El problema con el cual nos enfrentamos es que la zona horaria determinada para Buenos Aires, GMT-3 que aparece en los sistemas operativos bajo el nombre de (GMT-3) Buenos Aires, Georgetown, no prevee un período de "horario de verano", por lo que básicamente no podemos hacer un cambio de selección de nueva zona horaria, entonces, el camino largo y la forma de resolver este problema involucraría varias etapas.

  • Generación de la Zona Horaria: Dado que no tenemos una zona horaria que cumpla con lo que necesitamos, deberemos generarla. Windows guarda los datos referentes a la zona horaria en el registro (donde sino!!!) bajo la clave HKLM\Software\Microsoft\Windows NT\CurrentVersion\Time Zones ,(para los apurados que ya abrieron el regedit y no encuentran la clave, lean nuevamente.. es Windows NT\CurrentVersion y no Windows\CurrentVersion...) y bajo esta clave hay una clave para cada zona horaria definida. Básicamente entonces deberemos crear una nueva zona para Buenos Aires, incorporando los datos necesrios en el registro, cosa que podemos hacer via un archivo reg como el que sigue (Compatible con 2000, 2003 y XP).



  • Cambio de nombre de la zona Buenos Aires - GerogeTown: Para que no exista confusión, deberemos cambiar el valor de la clave "Display" de la zona "SA Eastern Standard Time" para que muestre solamente Georgetown, en lugar de Buenos Aires Georgetown. Para ello, nuevamente accederemos al registro, cosa que tambien podemos hacer con el siguiente archivo reg.


  • Selección de la nueva zona horaria: Si aplicamos los cambios anteriores, y vemos lo que arroja "Zona Horaria", veremos que en la descripción solo aparece "(GMT-3) Georgetown", lo unico que nos faltaría sería seleccionar del pulldown "(GMT-3) Buenos Aires" y nuestro problema estaría resuelto.... si, si, ya se, que pasa en los ambitos donde hay dominio, muchas pcs, etc.

El camino largo... en las empresas...

Para los que leyeron lo anterior y a regañadientes ya espetaron que "hay 200 pcs, no voy a hacer esto en cada una", "los usuarios no tienen permisos suficientes para hacer este cambio", "no voy a hacer que todos sean administradores para esto...", etc. etc. etc., bueno la idea es esta.

  1. Generar 1 solo archivo reg: Generar un solo archivo reg donde se agregen las claves necesarias del registro y se modifique la clave "SA Eastern Standard Time".
  2. Distribuir la aplicación de esta modificación al registro via Group Policies y la selección del time zone.

Para cumplir con estos pasos, hay que hacer los siguiente:

Primero: Hacer un archvivo de texto con el contenido de los cambios para la registry, pueden utilizar el notepad y copiar el código de esta página, solo deben recordar el seleccionar "Tipo = Todos los Archivos" al momento de guardar, para evitar que la extensión sea txt en lugar de reg (en el ejemplo, se denominó al archivo zonahoraria.reg). Este archivo deberá colocarse en un share que pueda ser accedido por todas las PCs donde se aplicará el cambio. Los permisos de acceso deben incluir lectura y ejecución, como sugerencia puede utilizarse el NETLOGON, ya que puede ser accedido via server o bien via nombre de dominio (una vez que la réplica finaliza).

Segundo: Hacer un archivo cmd para aplicar estos cambios a la registry via group policies y seleccionar la time zone. El archivo cmd deberá contener básicamente las siguiente lineas que se exponen a continuación y deberá ser ubicado junto con el archivo .reg (solo por una cuestión de comodiad). En el ejemplo el archivo se denomina cambiozh.cmd.

 

Tercero: El ante último paso que nos queda es la aplicación de este archivo en una gpo. Para ello crearemos una nueva group policie y asignaremos el archivo cmd al nodo de computadora, en el area de scripts de startup. Iniciaremos "Active Directory Users and Computers" y seleccionaremos la OU a la cual le queremos aplicar la política, esta OU deberá contener las PCs que se quiere configurar y haciendo click con el botón derecho del mouse seleccionaremos la opción "Properties" la que nos permitirá en la solapa "Group Policies" crear un nuevo GPO (en el ejemplo gpoGMTChange).

 

Si no queremos que se vea que esta haciendo el equipo cuando ejecuta estos comandos, podemos seleccionar dentro de "Administrative Templates" en System/Scripts, tambien del área de máquina la opción de "Run Startup Scripts Visible" como Disable, en castellano "Ejecutar Scripts de Arrance en forma Visible" a deshabilitado. Una vez que el dominio replique, y cada PC sea reiniciada, la misma recibirá los cambios.

Por último si este gpo solo realizará estos cambios, sería deseable deshabilitar la sección de "Users", a través de las propiedades del gpo.

 

Cuarto: Para las PCs que no pueden ser reiniciadas y los servidores que tampoco pueden ser reiniciadas, se deberá ejecutar el archivo en forma manual.

 

El camino corto

Para aquellos que no quieran realizar cambios en las zonas horarias de la registry, y solo quieren establecer el time zone a -120 por el período correspondiente y luego volverlo a -180, pueden ejecutar un script de arranque o bien hacerlo via "Tareas Programadas".

Aqui tienen el texto de un script que solo cambia el Bias del Time Zone, o sea el offset en horas respecto de GMT (además registra en el visor de sucesos que es lo que hizo, ya sea que aplicara cambios o determinara que los cambios no eran necesarios).

El lado oscuro de este script es que solo funciona en XP y 2003 (no pude testearlo en Vista por falta de tiempo)

Otros caminos para la misma solución

Obviamente, todos apremiados por el tiempo, buscamos la solución para el problema, he aqui otras soluciones de otras fuentes.

ATENCION !!!:

Los procedimientos aqui indicados son serios y no deben tomarse a la ligera. Todo lo aqui expuesto fue testeado, pero debe ser testado por Ud. en su ámbido antes de realizar ninguno de estos procedimientos en un ambiente de producción. Ud. y solo Ud. es el responsable de lo que hace.


 

Volver a lista de Notas