En esta segunda entrega explicaremos como efectuar el deploy (distribución) de la configuración de la nueva zona horaria en un ambiente corporativo, o sea, que cuente con una red, servidores y estaciones de trabajo.
Obviamente utilizar el Time Zone Editor m quina por m quina no es una opci¢n, y es por eso que vengo a presentarles algunas alternativas. Uds sabr n elegir la mejor de acuerdo al tama¤o y dise¤o de su red.
1) Creaci¢n y ejecución de script manualmente
La forma m s b sica de implementar el cambio en una red con pocas m quinas es generando un archivo de registro .reg con las modificaciones introducidas por la herramienta Time Zone Editor, como vimos en la parte 1.Esto es, acceder a las claves de registro necesarias y exportar las mismas, generando un ejecutable por cada una, que puede ser instalado en cualquier m quina, sin necesidad de software adicional. Las claves mencionadas son:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\SA Eastern Standard Time
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation
Nota: Este proceso se deber efectuar en un equipo donde ya se haya efectuado el cambio de zona horaria mediante la “parte 1″ de esta publicaci¢nSe deber n seguir los siguientes pasos:
1.a) Iniciar el editor de registro, regedit o regedt32, desde inicio / ejecutar
1.b) Acceder a cada una de las claves mencionadas precedentemente y seleccionar la opci¢n Export, grab ndolas con nombres diferentes, en nuestro caso las llamaremos timezones.reg y tzinfo.reg respectivamente.
1.c) Cerramos el editor de registro
1.d) Una vez que tenemos estos dos archivos de registro, podremos copiarlos a un recurso compartido de la red, que sea accesible a todas las estaciones de trabajo.
1.e) Para instalar los cambios en los equipos, bastar acceder al share mencionado y ejecutar los archivos timezones.reg y tzinfo.reg, seleccionando aceptar a las advertencias de Windows. En caso de que el explorer deniegue el acceso a los archivos de registro por seguridad, se podr n copiar los mismos y ejecutarlos localmente.
Para los que quieren ahorrarse los pasos anteriores aqu¡ les dejo directamente el contenido de los archivos .reg. Simplemente abran el notepad y copien este contenido. Luego gr benlo con extensi¢n .reg
Si juntamos los 2 scripts en un solo archivo quedar¡a lo siguiente:
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\SA Eastern Standard Time] “Display”=”(GMT-03:00) Buenos Aires, Georgetown” “Dlt”=”Buenos Aires Daylight Time” “Std”=”SA Eastern Standard Time” “MapID”=”42,43″ “Index”=dword:00000046 “TZI”=hex:b4,00,00,00,00,00,00,00,c4,ff,ff,ff,00,00,03,00,06,00,03,00,17,00,3b,\ 00,3b,00,00,00,00,00,0c,00,06,00,05,00,17,00,3b,00,3b,00,00,00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation]“Bias”=dword:000000b4
“StandardName”=”SA Eastern Standard Time”
“StandardBias”=dword:00000000
“StandardStart”=hex:00,00,03,00,03,00,17,00,3b,00,3b,00,00,00,06,00
“DaylightName”=”Buenos Aires Daylight Time”
“DaylightBias”=dword:ffffffc4
“DaylightStart”=hex:00,00,0c,00,05,00,17,00,3b,00,3b,00,00,00,06,00
“ActiveTimeBias”=dword:000000b4
2) Distribuci¢n de script en un ambiente corporativo
Para la distribuci¢n del script en una red se deber considerar tambi‚n lo detallado en el punto 1.
Para comenzar cabe aclarar que aunque se utilice alguna herramienta autom tica de deploy o alg£n script de inicio, pueden surgir algunos problemas en la ejecuci¢n de los scripts, ya sea por normas de seguridad o permisos.
Es por eso que investigu‚ 3 formas diferentes de cargar los scripts, las cuales les detallo a continuaci¢n:
- M‚todo reg import
Crear un archivo timezone.bat con el siguiente contenido:
reg import timezones.reg
reg import tzinfo.reg
Mediante el comando reg import ARCHIVO.reg se importan directamente los datos en el registro de windows.
- M‚todo regedit silencioso
Crear un archivo timezone.bat con el siguiente contenido:
regedit /S timezones.reg
regedit /S tzinfo.reg
Este script utiliza el comando regedit para importar las claves del registro. El modificador /S es para efecutarlo en modo silencioso. Si desean hacer la una prueba y verificar si se esta ejecutando correctamente quitenle el modificador.
- M‚todo reg add (recomendado):
El tercer m‚todo consta en traducir cada clave del registro a un formato especial que puede ser cargado con el comando reg. Este es el m‚todo que en mi caso me di¢ los mejores resultados y con el que finalmente implemente la soluci¢n y que obviamente recomiendo.
Debido a la extensi¢n de este script, sub¡ un archivo en formato txt que pueden descargar desde aqu¡.
Nota: Una vez descargado el archivo deber n renombrarlo a timezone.bat
Independientemente de la manera elegida para importar los datos a la registry deberemos configurar ahora alg£n m‚todo para lograr que los clientes ejecuten el archivo timezone.bat
Primero que nada deberemos colocar el archivo timezone.bat y adem s los archivos timezones.reg y tzinfo.reg (en caso de no utilizar el £ltimo m‚todo) en un recurso de red al que tengan acceso full (lectura y ejecuci¢n) todos los usuarios. Por ejemplo, \\NOMBRE_DOMINIO\NETLOGON
Una vez all¡ deberemos seguir los siguientes pasos para que los clientes lo ejecuten autom ticamente:
a) Acceder al controlador de dominio principal (necesitaremos privilegios de Domain Admin)
b) En Administrative Tools abrir la consola Group Policy Managment y colocarse a nivel dominio. Si no se cuenta con la misma ejecutar la consola “Active Directory Users and Computers”, seleccionar propiedades con el boton derecho a nivel de dominio y elegir el tab Group Policy.
c) En ambos casos se deber crear una nueva pol¡tica de dominio (GPO) que llamaremos GPO_Timezone.
d) Editar la pol¡tica reci‚n creada y vinculada al dominio mediante el GPO Editor
e) Acceder a Computer Configuration / Windows Settings / Scripts. Seleccionar propiedades sobre Startup y seleccionar la opci¢n Add
f) Elegir Browse y buscar el archivo timezone.bat antes grabado en el recurso de red, en nuestro caso estar en \\NOMBRE_DOMINIO\NETLOGON\timezone.bat
g) Elegir OK y luego OK otra vez para aceptar los cambios.
Una vez finalizados estos pasos deberemos reiniciar los equipos clientes de manera que ejecuten el script de inicio. En el caso de equipos que no puedan ser reiniciados, como servidores, se recomienda aplicar el script manualmente.
Nota: Se han detectado casos aislados donde la zona horaria se cambia a Brasilia. A pedido de algunos lectores les paso la soluci¢n a continuaci¢n para resolver este inconveniente.
Con las PCs que se cambien a “Brasilia” ejecutar la siguiente l¡nea, o agregarla al script de inicio, para volverlas a la zona de “Buenos Aires, Georgetown”:
control.exe timedate.cpl,,/Z SA Eastern Standard Time
Esperando les sea de utilidad los saludo atte. Cualquier consulta o aporte ser bienvenido
Ing. Carlos Franciosi
Tags: 2007, 30 de diciembre, argentina, cambio, daylight, hora, microsoft, time, timezone, windows
Carlos, es de gran ayuda este post.! So distribuyo esto en un startup o logon Script por GPO se aplica el cambio aunque los usuarios no tengan permisos de administrador?
Gracias!
Para nada, no es necesario ser administrator. Hice el deploy en una empresa con 100 pcs y anduvo perfectamente.
Pensa que hay varios scripts de inicio, como ser net time que se utilizan frecuentemente y no tenes que tener mas privilegios para ejecutarlo.
Lo que si deberás tener en cuenta es publicar el/los archivo/s del script en una carpeta de red donde “todos” tengan permisos de lectura y ejecución.
Podes utilizar el startup script o cualquier otro script de start o herramienta de deploy, como ser Altiris.
Carlito’x:
muy bueno el desarrollo que hiciste.
Saludos.
Jayaice
Carlos:
En mi caso tengo un PDC y 3 DC… con 300 clientes..(AD)
Si yo edito la zona horaria del PDC, como dice su blog….
que pasará con mis PC clientes, que no tienen esta zona nueva?
Gastoncito,
tenes que aplicar el script en todos los servidores y
clientes. Como aclare en la nota en blog.franciosi.com.ar, no es un
simple cambio de hora, sino la modificacion de la zona horaria, para
agregarle la posibilidad de habilitar el horario de verano.
Con respecto a tu pregunta, si actualizas en el PDC, el mismo va a
cambiar su hora como corresponde a las 00 hs del 30 de Diciembre, pero
no asi los equipos donde no corriste el script.
Los clientes sincronizan contra los DCs la hora de Greenwich (GMT 0),
NO la zona horaria, por lo que es necesario instalarlo en todos los
equipos.
Cualquier consulta podes preguntar en mi blog, que lo voy a ver mas
rapido.-
Saludos,
Ing. Carlos Franciosi
Carlos, una consulta:
Yo administro un dominio con un dc win 2003 y 250 clientes xp
, hay algo que tenga que fijarme para cambiar esto?
Segui todos los pasos segun la guia optando por el metodo recomendado (reg add) y cuando las pcs reinician y corren el script todas quedan con el huso horario de brasilia, por lo tanto ya estan con la hora corregida y eso est muy mal!
Porque sino voy a tener que volver para atras todo, porque no pienso ir pc x pc a cambiar el huso horario….sino no hubiese usado una policy, no? jejeje
Espero tu respuestas y desde ya muchas gracias.
Hola, dos preguntas
1. si modifico solamente la hora de mis DC sin modificar la zona, que pasa con mis servidores exchange ?
2. viceversa, si modifico la hora de los dc modificando la zona horaria, como impacta esto en mis exchange ?
Gracias
Alejandro,
como explique anteriormente, cambiar la hora directamente “puede” trar varias consecuencias no calculadas.
En principio tenemos la sincronización horaria: todas las PCs sincronizan contra algun servidor. Si estan en dominio sera contra el DC, y sino sera contra algun server SNTP estilo time.windows.com. Ahora bien, si cambias la hora manualmente, esta se volvera a cambiar a GMT-3 cuando se comunique con estos servidores, y es probable que necesites además cambiar la hora del BIOS de algunos equipos.
Existen otros problemas conocidos y publicados por Microsoft los podes encontrar aca: http://support.microsoft.com/kb/289668/en-us
Con respecto al punto 2 de tu pregunta, si modificas la zona horaria, no necesitas modificar la hora, ya que de esa manera estas efecutuando dos modificaciones que te van a dar resultados que no son los esperados.
Digamos, hay formas y formas de hacer las cosas, solo que algunas son las correctas. Si queres manejarlo de manera adecuada, seguí los consejos que he publicado en este blog.
Saludos,
Ing. Carlos Franciosi
Hernan,
si las PCs quedan en el huso horario de Brasilia es porque las habias configurado previamente de esa manera. Asimismo, que esten en el horario de Brasilia no significa que esten “con la hora corregida”.
Los scripts planteados consideran como base que las PCs de la compañia hayan sido configuradas en su momento con la hora de Buenos Aires. Lo que podes hacer por el momento es seguir los consejos del post parte 1, pero en vez de seleccionar Buenos Aires, Georgetown elegi Brasilia. Esta NO es una práctica recomendada, solo es una solución temporal hasta que actualices las PCs a la zona horaria que le corresponde.
Saludos,
Ing. Carlos Franciosi
Usas Outlook/Exchange? Tuviste problemas con las citas?
Maximo,
utilizo Outlook/Exchange con frecuencia y en mi caso no tuve inconvenientes. Tengo entendido que mientras no crees una zona nueva no deberías tener que modificar nada.
Saludos,
Ing. Carlos Franciosi
Carlos, las pc’s no estaban en el huso de brasilia antes, al principio pense que eso es lo que estaba pasando, pero al ejecutar el script en 3 pcs de pruebas que estaban previamente en Buenos Aires, estas cambiaban automaticamente a Brasilia, suena rarisimo pero me pasa eso, volvere a ver bien todo el miercoles cuando vuelva a la oficina porque no puede haber mucho misterio en este asunto , muchas gracias por la respuesta y felicidades.
Hola.
Ejecute el scrip y en verdad, el uso horario queda en Brasilia.
Tal como dice Hernan, yo tambien tenia la hora configurada en Buenos Aires.
Ante todo gracias por el aporte Admin…
Buen año para todos… y veremos que pasa cuando tengamos que atrasar una horita nuestro time !!!!!!
Saludos.
Daniel.
Daniel,
es extraño lo que comentas. Lo he probado en cientos de máquinas y anda ok. Describime un poco más tu red, dominio, S.O. de las estaciones, S.O. del server.
Con respecto a lo 2do que comentas, con la solución que propongo no es necesario preocuparse por atrazar la hora el 16 de Marzo, ya que esta se ajustará automáticamente.
Saludos,
Ing. Carlos Franciosi
Hernan,
he detectado casos muy aislados pero vale la pena publicar un remedio.
Con las PCs que se te cambien a Brasilia ejecuta la siguiente linea, o agregalo al script de inicio, para volverlas a la zona de Buenos Aires:
control.exe timedate.cpl,,/Z SA Eastern Standard Time
Saludos
Ing. Carlos Franciosi
Muchas Gracias Carlos, funciono al pelo la ultima solucion, con una GPO, se instalaron en todos los equipos de una Pyme de mas de 100 maquinas.
Excelente tu blog…
Saludos Cordiales.
Funciono de 10!
Buenos dias Carlos.
Corriendo el script que detalas en el blog, que ocurre luego del 16/03 cuando todo deberia volver a la normalidad? Como se revierte la situacion?
Muchas Gracias.
Andres,
te comento, para tu tranquilidad, que luego del 16/03 el sistema vuelve a la normalidad los cambios efectuados de manera automática y sin necesidad de que tengas que hacer ningun cambio adicional.
Saludos,
Ing. Carlos Franciosi
Hola Carlos,
Felicitaciones por la inicitiava y publicación de tus artículos.
Te hago una consulta relacionada a las zonas horarias, tras una introducción de la Plataforma:
Ingresé hace una semana a una empresa con varios DC (Principal W2K3 y Win2k secundarios) y unos 500 pc de escritorio (winxp). La estructura esta dada por AD desde el DC Principal Win2k3. Lamentablemente e ignoro el por qué, la mitad de los pcs winxp están con la Zona Caracas, La Paz y el resto con la que realmente corresponde que es Santiago. Ambas, sin embargo son GMT -4.
Lo que necesito hacer, es encontrar o crear una política en AD para que regularice la situación y deje a todos los equipos del Domino y Sub dominios con la Zona horaria de Santiago.
Ahora la consulta… ¿Sabes tú donde se encuentra o si existe una política que realice lo que necesito en el AD y que sea transparente para los usuarios? ¿Puedes ayudarme o guiarme de alguna manera para abordar este problema?
Gracias de antemano y te reitero mis felicitaciones.
Saludos,
Rod
Rodrigo,
para cambiar la zona de una maquina podes crear una politica de AD con un script de inicio por maquina incluyendo el siguiente contenido:
control.exe timedate.cpl,,/Z SA Eastern Standard Time
Deberias modificar SA Eastern Standard Time, que es la de Argentina, por la que corresponda en tu ciudad.
Asimismo, no te recomiendo cambiar la zona horaria a Santiago (salvo que seas de esa localidad). Si sos de Argentina segui la guia propuesta.
Saludos
Ing. Carlos Franciosi
Carlos,
Gracias por tan rápida respuesta. Efectivamente soy de Santiago, y las sucursales de la compañía tambien están sólo en Chile, de modo que el cambio necesario es a los equipos que tienen mal configurada la Zona Horaria (seguramente por el uso de un disco con la Imegen de Winxp que fue replicado con dicha zona horaria.
Entonces, debo proceder con lo indica tú guía con el método reg add. Unas consultas adicionales. ¿Qué sucede con los equipos que están correctamente configurados con su Zona horaria Santiago? ¿Debo crear un logon.bat para cada usuario que haga un login al dominio? ¿Cómo hago para que los equipos hagan el Login.bat?
Gracias