26 agosto 2008

Saiba como tratar as alterações na hora do Windows devido ao horário de verão

Caros amigos leitores,

Lendo alguns materiais da Microsoft, localizei este abaixo. Bom muitos administradores de redes sofrem com o horário de verão. Tanto no inicio de sua virgencia, quanto no final dela. E com este guia podemos utilizar melhor essas mudanças, mantendo-se bem atualizados Servidores, Computadores entre outros.

Boa leitura.

Esta página é uma reprodução do artigo 317211 da Base de Conhecimento Microsoft e ensina você a configurar o Microsoft Windows para a mudança correta da hora do sistema operacional de acordo com o período estabelecido pelo governo brasileiro para o ano corrente. O artigo original encontra-se em http://support.microsoft.com/kb/317211/pt-br.

INFORMAÇÕES IMPORTANTES

• O download da atualização que trata as alterações no horário de verão de 2007 podem ser obtidas a partir do artigo 931836 da Base de Conhecimento Microsoft.

• Leia o artigo sobre dispositivos móveis caso você deseje saber mais sobre configuração de horário de verão para dispositivos baseados no Windows Mobile.

• Este artigo contém informações sobre como modificar o Registro. Faça um backup do Registro antes de modificá-lo. Verifique se sabe como restaurá-lo caso ocorra algum problema. Para obter informações adicionais sobre como fazer backup, restaurar e modificar o Registro, acesse o artigo 256986 da Base de Conhecimento da Microsoft.

Aplica-se a

A informação contida neste artigo aplica-se a:

• Microsoft Windows Server 2003 Enterprise Edition

• Microsoft Windows Server 2003 Standard Edition

• Microsoft Windows XP Professional Edition

• Microsoft Windows XP Home Edition

• Microsoft Windows 2000 Server

• Microsoft Windows 2000 Advanced Server

• Microsoft Windows 2000 Professional Edition

• Microsoft Windows 98 Second Edition

• Microsoft Office Outlook 2003

• Microsoft Outlook 2002 Standard Edition

• Microsoft Outlook 2000 Standard Edition

• Microsoft Outlook 98 Standard Edition

• Microsoft Outlook 97 Standard Edition

Sumário

Observe que essas informações alteram todo ano e o conteúdo desse artigo será atualizado conforme necessário. Os clientes que desejam atualizar o fuso horário usando os arquivos do Registro devem testar a solução por completo antes de implantá-la.

O Brasil não usa datas de horário de verão estáticas. As datas de início e de fim para o horário de verão no Brasil são diferentes a cada ano. Nos produtos da Microsoft listados na seção "Aplica-se a" desse artigo, Brasília (GMT -3:00) é o fuso horário padrão para o Brasil. Esse artigo explica como modificar o comportamento padrão das datas de início e de fim do horário de verão para o fuso horário (GMT -3:00) Brasília no Windows, de modo a refletir as datas de início e de fim do horário de verão atual para o Brasil.

As datas padrão de início e fim do horário de verão para o fuso horário (GMT -3:00) Brasília no Windows são da seguinte maneira:

• O horário de verão começa às 02:00 no terceiro domingo de outubro.

• O horário de verão termina às 02:00 no segundo domingo de fevereiro.

As datas de início e de fim do horário de verão real implementadas no Brasil para os anos de 2005 a 2006 são as seguintes:

• O horário de verão começa em 16 de outubro de 2005.

• O horário de verão começa em 16 de outubro de 2005.

Os estados inclusos são Rio Grande do Sul, Santa Catarina, Paraná, São Paulo, Rio de Janeiro, Espírito Santo, Minas Gerais, Goiás, Mato Grosso, Mato Grosso do Sul e Distrito Federal. Usando as configurações de fuso horário padrão (GMT -3:00) Brasília, os computadores com o Windows nos estados brasileiros afetados do Brasil não interpretam corretamente o horário relacionado à transição para o horário de verão. Execute um dos seguintes métodos para modificar o comportamento padrão desse fuso horário no Windows de modo a refletir corretamente as datas reais do horário de verão.

Para obter informações adicionais sobre as datas de início e fim do horário de verão de 2005 e 2006, consulte o seguinte site brasileiro: Ministério de Minas e Energias (http://www.mme.gov.br).

Use a ferramenta Time Zone Editor (Tzedit.exe)

Use o Time Zone Editor (Tzedit.exe) para configurar as novas datas de início e de fim do horário de verão para o fuso horário de Brasília. Essa ferramenta está incluída no Resource Kit para a sua versão do Microsoft Windows.

Método 1: Configurar manualmente as datas do horário de verão

É possível modificar manualmente as configurações de fuso horário usando o Tzedit.exe. Execute esse método se você precisar configurar as datas do horário de verão em diversos computadores. Para fazer isso, execute as seguintes etapas:

1. Inicie o Time Zone Editor.

2. Na lista Time Zones, clique em (GMT -3:00) Brasília e em Edit.

3. Na caixa de diálogo Edit Time Zone, marque a caixa de seleção Automatically set Daylight Saving Time.

4. Especifique as datas corretas de início e de fim do horário de verão. Na caixa Start Day, clique no número do dia que deseja. Por exemplo, clique em Second. Clique no dia correspondente da semana que deseja. Por exemplo, clique em Sunday. Clique no mês que deseja. Por exemplo, clique em October. Selecione o horário de início do horário de verão. Por exemplo, selecione 12:00 AM.

5. Na caixa Last Day, clique no número do dia que deseja. Por exemplo, clique em Last. Clique no dia correspondente da semana que deseja. Por exemplo, clique em Sunday. Clique no mês que deseja. Por exemplo, clique em February. Selecione o horário de término para o horário de verão. Por exemplo, selecione 12:00 AM.

6. Na lista Daylight Bias, selecione a quantidade de horas que deseja alterar quando o horário de verão estiver em vigor. Por exemplo, para configurar o relógio para avançar 1 hora, mantenha a configuração padrão de +1:00.

7. Clique em OK e em Fechar.

8. Clique em Iniciar, aponte para Configurações, para Painel de controle e clique duas vezes em Data e hora.

9. Clique na guia Fuso horário.

10. Selecione um fuso horário diferente de (GMT -3:00) Brasília e clique em Aplicar.

11. Clique em (GMT -3:00) Brasília e em OK. Observação: As etapas 10 e 11 são necessárias para que as novas alterações tenham efeito.

Método 2: Exportar as informações da chave do Registro

Aviso: Problemas sérios podem ocorrer se você modificar o Registro incorretamente usando o Editor do Registro ou outro método. Esses problemas podem exigir a reinstalação do sistema operacional. A Microsoft não garante que esses problemas possam ser resolvidos. A modificação do Registro é de sua responsabilidade.

É possível implantar as novas configurações de fuso horário exportando as chaves do Registro que armazenam as informações de fuso horário para um arquivo .reg e usar esses arquivos para atualizar o Registro de outros computadores. Para fazer isso, execute as seguintes etapas:

1. Execute as etapas de 1 a 11 da seção "Método 1: Configurar manualmente as datas do horário de verão" desse artigo para modificar as datas de início e de fim do horário de verão para o fuso horário de Brasília.

2. Teste para verificar se as informações de fuso horário estão atualizadas corretamente.

3. Clique em Iniciar e em Executar.

4. Na caixa Abrir, digite regedit e clique em OK.

5. Na janela do Editor do Registro, execute uma das seguintes ações, de acordo com o sistema operacional que está executando:

• Se estiver executando o Microsoft Windows XP, o Microsoft Windows 2000 ou o Microsoft Windows Server 2003, localize e clique na seguinte chave do Registro: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\E. South America Standard Time

• Se estiver executando o Microsoft Windows 98, o Microsoft Windows 98 Segunda Edição ou o Microsoft Windows Millennium Edition (Me), localize e clique na seguinte chave do Registro: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Time Zones\E. South America

6. No menu Registro (ou Arquivo), clique em Exportar arquivo do Registro (ou Exportar).

7. Na caixa de diálogo Exportar arquivo do Registro que aparece, clique em Desktop na caixa Salvar em, digite Fusos_horários na caixa Nome do arquivo e clique em Salvar.

8. Localize e clique na seguinte chave do Registro: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation

9. No menu Registro (ou Arquivo), clique em Exportar arquivo do Registro (ou Exportar).

10. Na caixa de diálogo Exportar arquivo do Registro que aparece, clique em Desktop na caixa Salvar em, digite tzinfo na caixa Nome do arquivo e clique em Salvar.

11. Feche o Editor do Registro.

12. Copie os arquivos fusos_horários.reg e Tzinfo.reg criados na etapa 7 e na etapa 10 para os computadores nos quais deseja atualizar as configurações de fuso horário com as configurações das novas datas de horário de verão.

13. Nos computadores de destino, clique duas vezes nos arquivos fusos_horários.reg e Tzinfo.reg.

14. Clique em Sim quando for solicitado para adicionar as informações ao Registro.

15. Clique em OK ao receber a mensagem afirmando as informações foram inseridas com êxito no Registro.

16. Reinicie o computador.

Método 3: Usar um script de logon

Para usar esse método, você deve seguir as etapas no Método 2 para criar os arquivos do Registro que serão usados no script de logon. Para fazer isso, adicione o seguinte exemplo de código a um script de logon:

 if "%OS%" == "Windows_NT" goto NT_OS
regedit /s z:\<Win9x.reg file>

goto TZEND

:NT_OS
regedit /s %LogonServer%\NETLOGON\<NT.reg file>

: TZEND


Observação: Para usar os métodos 2 e 3 em computadores que executam o Windows XP, o Windows 2000 ou o Windows Server 2003, o usuário que faz as alterações no Registro deve ter permissão administrativa no computador ou as permissões da chave do Registro corretas.





Como atualizar as permissões da chave do Registro



Por padrão, em um computador com o Windows 2000 ou com o Windows XP, os usuários de domínio não possuem permissões de gravação para as seguintes chaves do Registro: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\E. South America Standard Time



HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation



Se os usuários não possuírem as permissões para essas chaves, eles não serão capazes de atualizar as informações do Registro usando o procedimento de script de logon. Para atribuir permissões a essas chaves, execute as seguintes etapas:



1. Leia os seguintes artigos com atenção para entender os utilitários e os processos:



180546 - Atualizações automáticas para membros de grupos locais



264584 - Como alterar valores ou permissões do Registro a partir de uma linha de comando ou de um script



245031 - Como usar um certificado para alterar as permissões do Registro da linha de comando



2. Use os procedimentos explicados no artigo Q180546 para criar um processo em lotes para atualizar as chaves do Registro em todos os servidores e estações de trabalho que fazem parte do domínio especificado por você. Lembre-se que esse processo pode ser usado para muitas outras coisas. A ação a ser realizada em cada computador está em Sub3.bat. Nesse caso, você usa o utilitário Regini.exe para atribuir permissões Todos têm controle total sobre duas chaves do Registro. Também é possível usar o Regini.exe para fazer as alterações nas chaves do Registro em vez de usar um script de logon. Consulte o artigo 264584 para obter informações adicionais.



A seguir estão exemplos de arquivos em lote.



Nome do arquivo: INSUSER.BAT (arquivo bat inicial)



 set CurrentDomain=nicdome1
echo off
cls
if (%CurrentDomain%) == (mydomain) echo Edit the first line of INSUSER.BAT.
if (%CurrentDomain%) == (mydomain) echo then rerun INSUSER.BAT
if (%CurrentDomain%) == (mydomain) goto verybottom
rem *** Display current variable settings ***
echo Current domain is %CurrentDomain%.
echo.
rem *** Determine if working list is present ***
If exist working.txt echo Working list detected, resuming batch process.
If exist working.txt goto SkipCreateList
echo Creating a list of member servers in %CurrentDomain%.
echo.
netdom /d:%CurrentDomain% member > workingM.txt
netdom /d:%CurrentDomain% bdc > workingDC.txt
rem *** Remove NETDOM formatting from server names ***
if exist temp.txt del temp.txt
for /F "skip=6 delims=\ tokens=2" %%a in (workingM.txt) do call sub1.bat %%a
for /F "skip=6 delims=\ tokens=2" %%a in (workingDC.txt) do call sub1.bat %%a
del workingM.txt
del workingDC.txt
ren temp.txt working.txt

:SkipCreateList
rem *** Determine if machine is online ***
if exist online.txt del online.txt

for /F "delims=\\ tokens=1" %%a in (working.txt) do call sub2.bat %%a
rem *** Remove servers that have been processed from WORKING.TXT ***
if not exist online.txt goto NoServersOnline
echo.
echo Updating list of servers that need to be processed.
for /F "delims= tokens=1" %%a in (online.txt) do call sub4.bat %%a
echo List complete.
goto Bottom

:NoServersOnline
Echo.
Echo There are no servers currently online that can be processed.

:Bottom
echo.
echo ------------------------------------
echo --- Finished processing servers. ---
echo ------------------------------------

:verybottom


Nome do arquivo: SUB1.BAT



rem *** Remove formatting from Netdom output ***
echo %1 >> temp.txt

File name: SUB2.BAT
echo Pinging %1...
ping %1 > PING.TXT
for /F "skip=6 tokens=4" %%a in (PING.TXT) do call sub3.bat %%a %1
del PING.TXT

File name: SUB3.BAT
rem *** If server is online it will be logged in online.txt for ***
rem *** processing later. ***
rem *** %2 is a bogus variable, thrown away.
if not (%1) == (bytes) goto NotOnline
echo %3 >> ONLINE.TXT
echo [%3 is online.]
rem ***********************************************
rem *** Put per-server processing commands here ***
rem ***********************************************

ECHO Changing Registry Key permissions on %3.
ECHO *** \\%3 *** >> local.log

Regini -m \\%3 regacl.ini > nul

rem *****************************************************
rem *** Put per-server processing commands above here ***
rem *****************************************************

goto Sub3Bot
:NotOnline
:Sub3Bot


Nome do arquivo: SUB4.BAT



rem *** loop thru each name in working.txt and remove servers that were   ***
rem *** in online.txt ***

echo Removing %1 from list.
if exist temp.txt del temp.txt
for /F "tokens=1" %%a in (working.txt) do call sub5.bat %%a %%1
del working.txt
if exist temp.txt ren temp.txt working.txt


Nome do arquivo: SUB5.BAT



rem *** Filter out servers that have been updated ***
rem %1 is name from working.txt
rem %2 is name from online.txt
if (%1) == (%2) echo %1 >> complete.txt
if not (%1) == (%2) echo %1 >> temp.txt


Observação: O arquivo Regacl.ini possui duas chaves: E. South America Standard Time e Hor. padrao America Sul (Leste). As duas chaves serão necessárias apenas se você tiver uma combinação dos Windows em inglês e em português do Brasil, respectivamente.



Nome do arquivo: REGACL.INI



 \Registry\Machine\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\E. South America Standard Time [1 5 7 11 14 17]
\Registry\Machine\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\Hor. padrao America Sul (Leste) [1 5 7 11 14 17]
\Registry\Machine\SYSTEM\CurrentControlSet\Control\TimeZoneInformation [1 5 7 11 14 17]


Use o utilitário de atualização do horário de verão (Timezone.exe)



Use o utilitário de atualização do horário de verão (Timezone.exe) para atualizar as datas de início e fim do horário de verão para o fuso horário atual no Registro. Essa ferramenta de linha de comando está incluída no Resource Kit para a sua versão do Windows.



Observação: Esse utilitário atualiza as informações de horário de verão apenas para o fuso horário atual, que é armazenado na seguinte chave do Registro: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation. Ele não altera a definição padrão do fuso horário que é armazenado na chave do Registro.







Windows XP, Windows 2000 e Windows Server 2003



HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones







Windows 9x e Windows Me



HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Time Zones

Isso significa que se, posteriormente, você alterar o fuso horário usando a ferramenta Data e hora no Painel de controle, as datas de início e de fim do horário de verão para o fuso horário que você modificou serão redefinidas para os valores padrão.



Timezone.exe usa a seguinte sintaxe:

timezone /g /sstartdate enddate


Os parâmetros usados pelo Timezone.exe são da seguinte maneira:



/g exibe as informações de fuso horário atual.



hora especifica a hora em que a tarefa será executada. A hora é especificada como horas:minutos, com base no relógio de 24 horas. Por exemplo, 0:00 representa meia-noite e 20:30 representa 8:30 P.M.



StartDate EndDate define um novo fuso horário, no qual StartDate é a data na qual o horário de verão começa e EndDate é a data na qual o horário de verão termina.


StartDate e EndDate usam o formato Hora:Dia da semana:Dia:Mês , no qual:



• Hora especifica a hora, usando um relógio de 24 horas. Use valores de 00 a 23. Por exemplo, 00 representa meia-noite e 20 representa 8:00 P.M.



• Dia da semana especifica o dia da semana. Use valores de 0 a 6, no qual 0 representa Domingo, 1 representa Segunda e assim por diante.



• Dia especifica a ocorrência do Dia da semana no mês, no qual 1 representa a primeira ocorrência, 2 representa a segunda e assim por diante. Por exemplo, se Dia da semana for domingo, 1 representará o primeiro domingo do mês e 3 representará o terceiro domingo do mês.



• Mês especifica o mês. Use valores de 01 a 12, no qual 01 representa janeiro, 02 representa fevereiro e assim por diante.







Método 1: Configurar manualmente as datas do horário de verão



A seguir está um exemplo de como usar o Timezone.exe para configurar novas datas de início e de fim do horário de verão.



Digite a seguinte linha em um prompt de comando e pressione ENTER:

timezone /s 00:0:2:10 00:0:3:02


O horário de verão para o fuso horário atual está configurado para iniciar às 12:00, meia-noite, no segundo domingo de outubro (00:0:2:10) e terminar às 12:00, meia-noite, no terceiro domingo de fevereiro (00:0:3:02).







Método 2: Usar um script de logon



É possível usar o Timezone.exe em um script de logon se quiser automatizar o processo de atualização das novas datas de início e de fim do horário de verão para diversos computadores. Adicione o seguinte código de exemplo a um script de logon para atualizar um computador com o Windows 2000 ou com o Windows XP usando o Timezone.exe:



if "%OS%" == "Windows_NT" goto NT_OS
z:\Timezone /s 02:0:2:10 00:0:3:02
goto TZEND

:NT_OS
%LogonServer%\NETLOGON\Timezone /s 02:0:2:10 00:0:3:02

:TZEND


Observação: Em computadores que estiverem executando o Windows XP, o Windows 2000 ou o Windows Server 2003, o usuário que faz as alterações no Registro deverá ter permissão administrativa no computador ou as permissões de chave do Registro corretas.







Use o Visual Basic para alterar as informações de fuso horário programaticamente



Para obter informações adicionais sobre como usar o Visual Basic para alterar as informações de fuso horário programaticamente, clique no número abaixo para ler o artigo na Base de Dados de Conhecimento da Microsoft:



221542 - Como alterar o fuso horário utilizando o Visual Basic







Mais Informações



No Microsoft Windows 98, no Windows 98 Segunda Edição e no Windows Millennium Edition (Me), as informações de fuso horário são armazenadas na seguinte chave do Registro:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Time Zones



No Microsoft Windows XP, no Windows 2000 e no Windows Server 2003 as informações de fuso horário são armazenadas na seguinte chave do Registro:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones



As configurações de data e hora atuais configuradas no computador estão localizadas na seguinte chave do Registro:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation





Fonte: Technet Microsoft - http://www.microsoft.com/brasil/technet/suporte/verao.mspx

Postar um comentário