Na página 2 paramos na parte que fala sobre a criação de uma GPO para sincronizar o fuso horário.
após o sincronismo das horas no domínio, podemos ficar com +1 ou -1 hora de diferença do horário do domínio.
Em Fevereiro de 2010 o fuso horário -4UTC mudou de nome Manaus para Cuiabá. Nesse artigo o nosso foco é sincronizar com o GMT+4, más para quem mora fora dessa região só escoler -3UTC da Brasilia.
Atualização Em Dezembro de 2011 o Brasil ficou com mais um novo fuso horário nomeado Bahia Standard Time que aparece como “(UTC-3:00) Salvador” especificamente para o estado de Bahia. Esse fuso horário tem o horário de verão iniciando no terceiro Sábado de outubro de todo ano has 23:59:59.999 e terminando no quarto Sábado de Fevereiro da cada ano has 23:59;59.999.
Para os moradores do estado de Bahia, baixem a atualização no site da Technet no link KB2633952 ou deixem o windows fazer a atualização automaticamente na date certa escolhida pela Microsoft.
Para quem mora fora do estado de Bahia, não precisa preocupar se com essa mudança e deixar o Windows fazer as atualizações automaticamente.
Esse artigo já está atualizado e contem o novo fuso horário e aplica para windows 7, 2008 R2,XP e 2003.
Esse artigo tem alterações que podem afetar o calendário do Microsoft Outlook. Para evitar isso leia o artigo KB931667
Quem tem ambiente que usa o Exchange Server também precisa prestar mais atenção ao aplicar esse artigo. Leia o artigo KB941018 para evitar qualquer problema.
A GPO que eu criei serve para atualizar o registro com os novos fusos horários.
Criar uma GPO com um script batch.
*OBS importante, no micro de teste, sempre faça um backup do registro antes de executar scripts que alterem o registro.
1. Usando o teu editor de texto digite o copie os seguintes comandos, e salve o arquivo com extensão bat ( iniciar.bat por exemplo)
@echo off regedit /s \\NOME_DO_DOMINIO\NETLOGON\TZupdate_nenglish.reg cscript \\NOME_DO_DOMINIO\NETLOGON\refreshTZinfo.vbs
Observações
1- para atualizar uma versão de windows em inglês mude a primeira linha para
regedit /s \\NOME_DO_DOMINIO\NETLOGON\TZupdate_english.reg
2. Crie uma GPO e linka ela ao domínio, ou OU ou Site, etc.
no caminho \configurações de computador (computer configuration)\settings de windows (windows settings)\scripts de inicialização(startup scripts)\inicialização(startup)
segue a imagem a seguir
3- Ao clicar em adicionar irá abrir a pasta no SYSVOL que vai conter o script. Verifique isso clicando na pasta para mostrar o caminho da GPO na nossa estrutura SYSVOL. Vê a imagem a seguir
4- Abra o bloco de notas e cole o texto a seguir e salve o arquivo como refreshTZinfo.vbs
Set objSh = CreateObject(“WScript.Shell”)’Obtém a chave StandardName do fuso horário atual szStandardName = objSh.RegRead(“HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation\StandardName”)’Enumera as subchaves no banco de dados de fuso horário 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’Procura nos fusos horários para encontrar o Standard Name correspondente szTzKey = “” For Each subkey In arrTzSubKeys If (objSh.RegRead(“HKLM\” & szTzsKeyPath & “\” & subkey & “\Std”) = szStandardName) Then ‘Encontrou o StandardName correspondente, agora armazena este nome de chave de fuso horário szTzKey = subkey End If NextIf szTzKey = “” Then ‘Registra a entrada no log de eventos do Aplicativo com a mensagem de que a atualização falhou em executar objSh.LogEvent 1, “Atualização do Registro com o Horário de Verão de 2007 falhou ao executar neste computador. Os fusos horários falharam ao enumerar apropriadamente ou o fuso horário correspondente não foi encontrado.” Wscript.Quit 0 End If Dim process, processid, result, strUpdateCommand Set process = GetObject(“winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2:Win32_process”)
‘Adiciona o privilégio de alteração de horário ao objeto do processo process.Security_.Privileges.AddAsString “SeSystemTimePrivilege”,True strUpdateCommand = “control.exe timedate.cpl,,/Z” & szTzKey
‘Inicia o control.exe para atualizar as informações de fuso horário usando o nome da chave TZ obtida acima result = process.create(strUpdateCommand,Null,Null,processid) If result 0 Then objSh.LogEvent 1, “Atualização do Registro com o Horário de Verão de 2007 falhou ao executar neste computador. Não é possível atualizar o banco de dados de Fuso Horário.” Wscript.Quit 0 End If
‘Obtém o nome de exibição atual do fuso horário atualizado szCurrDispName = objSh.RegRead(“HKLM\” & szTzsKeyPath & “\” & szTzKey & “\Display”)
‘Registra a entrada no log de eventos do Aplicativo com a mensagem de que a atualização foi executada objSh.LogEvent 4, “Atualização do Registro com o Horário de Verão de 2007 foi executada neste computador.” & chr(13) & chr(10) & chr(13) & chr(10) & “O fuso horário atual é: ” & szCurrDispName & “.”
5 – Com a pasta ainda aberta, arraste o arquivo script batch criado na primeira etapa(iniciar.bat) e jogue o nesta pasta. Nessa mesma pasta vamos incluir os arquivos
refreshTZinfo.vbs
TZUpdate_english.reg para versões de windows em Inglês(clique para baixar,link externo tekniblog.com)
TZUpdate_nenglish.reg para versões de windows em outra linguagens(clique para baixar,link externo tekniblog.com)
6- Feche todas as janelas e teste o teu script antes de rodá-lo em um ambiente vivo.
Explicação Resumida:
a– O arquivo batch é do tipo computador(vê o caminho(path) dele na segunda etapa) e é chamado antes que o usuário faça logon e é independente do logon do usuário. Ao ser chamado ele chama a primeira linha que contem o comando
@echo off
que é usado para não mostrar mensagens do tipo echo para o usuário (ocultar mensagens).
b– Em seguida ele chama a segunda linha
regedit /s \\NOME_DO_DOMINIO\NETLOGON\TZupdate.reg
que altera o registro silenciosamente com o conteúdo do arquivo TZupdate.reg . Esse arquivo de registro tem as novas zonas de fuso horário para computadores não Inglês, se os seus micros são em Inglês cria o seu arquivo do link abaixo.
Para entender melhor o conteúdo deste arquivo e como criar o teu próprio, segue http://support.microsoft.com/kb/914387/pt-br (link externo Microsoft)
c- Finalmente é chamada a terceira linha que executa o script de visual basic que, segundo a Microsoft: “O script identifica o fuso horário atual do computador cliente e recarrega a chave do Registro TimeZoneInformation com as informações atualizadas do banco de dados de fuso horário. Em seguida, o script registra um evento no log do Aplicativo do computador cliente, onde o script foi executado.”
cscript \\NOME_DO_DOMINIO\NETLOGON\refreshTZinfo.vbs
Para mais informações