Sincronismo de Horário no Domínio 3

pagina1, pagina2, pagina3

Ao em vez de linkar para o site da Microsoft Technet para completar a configuração do fuso horário, estou criando esta página para completar o tutorial sobre sincronismo de horário no domínio.

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 tem 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 = “<Desconhecido>”
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 = “<Desconhecido>” 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

pagina1, pagina2, pagina3

última edição 25/12/2012

4 Respostas para Sincronismo de Horário no Domínio 3

  1. gargwlas disse:

    otimo artigo.. só que os arquivos da pagina 3 esta todos offline.

  2. gargwlas disse:

    estão*

  3. Nassim Dhaher disse:

    valeu gargwlas, todos os arquivos e links estão online.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

WordPress.com Logo

Você está comentando usando sua conta WordPress.com. Sair / Mudar )

Imagem do Twitter

Você está comentando usando sua conta Twitter. Sair / Mudar )

Foto do Facebook

Você está comentando usando sua conta Facebook. Sair / Mudar )

Conectando a %s

%d bloggers like this: