Vejam o que eu mandei na MCPdx hoje. É bem útil... está em desenvolvimento ainda, mas quem quiser testar, fique à vontade.
--
Vinicius Canto
MVP Visual Developer - Scripting
MCP Windows 2000 Server, Windows XP e SQL Server 2000
Blog sobre Scripting: http://viniciuscanto.blogspot.com
==================================================
Olá pessoal,
como prometido, fiz um script especificamente para alterar o horário de verão no Windows, para o que foi determinado para esse ano.
O script está abaixo, precisa somente ser salvo em um arquivo com extensão .VBS e ser executado. É para funcionar em Windows Me, 2000, XP e 2003, todos em português.
Gostaria de pedir aos interessados no script que testem em uma máquina-cobaia. Com o feedback de vocês poderei fazer outras versões (Powershell e Ruby, por exemplo) e colocar algumas funcionalidades (alguma interface com o usuário, suporte a várias máquinas, execução remota com WMI, etc). Nenhum tratamento de erros foi feito, tá quentinho, acabou de sair do forno. Vou mexer ainda e prometo que faço várias versões finais até o início do Horário de Verão, publico aqui, no site, no meu blog, no ITCentral, no Technet... onde puder.
Para executar localmente, basta clicar duas vezes no script ou digitar cscript num console qualquer. Para aplicar em máquinas remotas, basta trocar o "." que existe nas primeiras linhas por "nome_da_maquina". Você precisará ter o WMI rodando na outra máquina da rede (por padrão, vem habilitado) e com regras no Firewall (da máquina e da rede) permitindo as conexões de entrada que o WMI faz (depois do SP2, fica tudo fechado por padrão, mas tem fácil na Net como resolver isso).
Ah, só gostaria de pedir um favor. É necessário estar logado com uma conta administrativa para conseguir executar o Script. O que eu não recomendo é colocar ele como script de logon, com a ajuda de algum "truque" para dar credenciais administrativas para usuários comuns. Não é nem um pouco seguro fazer isso, existem N outras formas de se aplicar isso em várias máquinas.
Segue o código. É gratuito, mas caso modifiquem para algum outro fim, gostaria que permanecesse ao menos uma referência ao conteúdo original. Bom, na versão final vai ter uma licensa CC bem tranquila.
' ==============================================================================
' Adaptado de um script obtido no Technet ScriptCenter em
' http://www.microsoft.com/technet/scriptcenter/resources/qanda/feb05/hey0224.mspx
'
' by Vinicius Canto
' Blog sobre Scripting: http://viniciuscanto.blogspot.com
' Coluna no Technet Brasil: http://www.microsoft.com/brasil/technet/colunas/Default.mspx
' Coluna no ITCentral: http://www.itcentral.com.br/default.asp?id=22&mnu=22
' MCPdx: http://www.culminisconnections.com/sites/MCPDx/default.aspx
'
' Copyright (c) 2006 - Vinicius Canto
Const HKEY_CURRENT_USER = &H80000002
strComputer = "."
Set objRegistry = GetObject("winmgmts:\\" & strComputer & "\root\default:StdRegProv")
strKeyPath = "Software\Microsoft\Windows NT\CurrentVersion\Time Zones\Hora Oficial do Brasil"
strValueName = "TZI"
arrValues=Array(&Hb4,&H00,&H00,&H00,&H00,&H00,&H00,&H00,&Hc4,&Hff,&Hff,&Hff,&H00,&H00,&H02,&H00,&H00,&H00,&H04,&H00,&H02,&H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00,&H0b,&H00,&H00,&H00,&H01,&H00,&H02,&H00,&H00,&H00,&H00,&H00,&H00,&H00)
errReturn = objRegistry.SetBinaryValue(HKEY_CURRENT_USER, strKeyPath, strValueName, arrValues)
Escrito por
Vinicius Canto
em 02:39.
(1 comentários).
Link permanente.
Categorias dessa postagem:
horário de verão
Comentários
Postar um comentário
Vinicius Canto : Só para completar...
No script acima, eu usei o nome da variável como sendo HKEY_CURRENT_USER, quando deveria ser HKEY_LOCAL_MACHINE. Não faz diferença alguma, uma vez que é o nome da variável...
O importante mesmo, neste caso, é o conteúdo da variável... &H80000002. Este sim é o valor que deve ser informado ao WMI para que ele localize a chave certa no registro. [18/10/06 11:28 - link]