Cambio de hora en Chile: parte 3 - Recomendaciones técnicas

Clock_WHM.jpgPrimera 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