Como modificar o Registro via Script - Parte 3

Eu novamente. Agora, vou abordar um truque que eu poderia ter utilizado em um dos meus scripts recentes. Digo que poderia ter usado porque realmente não usei, acabei optando por utilizar um comando correspondente em WMI. Bom, vou deixar esse meu script (que fiz a pedido de um amigo meu chamado Allan Winckler) pro próximo post.

Abaixo, dou um exemplo que vi essa semana no newsgroup de Powershell da Microsoft:

PS C:\> $server = 'webserver1'
PS C:\> $regHive = [microsoft.win32.registryKey]::openremotebasekey([microsoft.win32.registryhive]::LocalMachine,$server) PS C:\> $regKey = $regHive.OpenSubKey('Software\Microsoft\Windows\currentVersion\Uninstall') PS C:\> PS C:\> PS C:\> PS C:\> $regKey.GetSubKeyNames() AddressBook CNXT_MODEM_HDAUDIO_VEN_14F1&DEV_2BFA&SUBSYS_20030003 Connection Manager DirectAnimation DirectDrawEx DXM_Runtime EvilLyrics

.

.

.

No exemplo acima eu conecto ao Registro da máquina webserver1 e obtenho todas as subchaves da chave HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall. Esta é uma das chaves que indicam quais softwares estão instalados na máquina.

Note que utilizar o Powershell, nesse caso específico, tem uma desvantagem: É necessário algum conhecimento em programação na plataforma .Net. Não é tão trivial para quem está começando... é para isso que existem os exemplos =).

Bom, espero que eu tenha dado alguma idéia das principais formas de se acessar o Registro via script. Existem outras ainda, mas essas são as mais comuns e eficazes.

Até mais!

Categorias dessa postagem: ,

Comentários

Anônimo : Oi Vinicius, estou começando agora a trabalhar com scripts vbs, vi em um post seu como desligar o computador com o shutdow, na mesma coluna você citou que é possível desligar via script, como se faz.

Reginaldo
reginaldo.cg@bol.com.br [3/9/07 08:39 - link]

Vinicius Canto : http://viniciuscanto.blogspot.com/2007/06/desligar-computadores-na-rede-mais-um.html [9/9/07 19:50 - link]

Anônimo : Olá Vinicius, muito obrigado por compartilhar seu conhecimento em scripting conosco!
Queria aproveitar este Post e tirar uma dúvida com voçe. Como modificar/adicionar uma chave no registro quando ele tem um CSLID(Class Identifier)?

Obrigado pela atenção. [5/10/07 22:53 - link]

Vinicius Canto : Olá Fábio,


Tem sim. Mas depende muito mais da localização do valor no registro que você quer alterar.

Qual é essa chave/valor?

[]s,

Vinicius [28/10/07 10:24 - link]

Marcel Freitas : Ola vinicius boa tarde. Gostaria de saber como faço para mudar o fuso horario de -3 para -4 e desmarcar a opçao de ajustar fuso automaticamente via script...
abraços
Marcel [27/11/07 14:23 - link]

Vinicius Canto : Veja aqui:
http://viniciuscanto.blogspot.com/2007/05/verdade-sobre-o-horrio-de-vero.html [7/12/07 10:05 - link]

Anônimo : Gostaria de saber se tem como e qual o caminho para abrir a restauração de sistema do xp via script.
Grato. [23/2/08 22:51 - link]

Jaelson Wagner da Silva : Olá Vinícius,

Parabéns pelo blog. Muita informação.

Consultei este tópico porque preciso executar algumas tarefas na rede e uma delas é alterar o registro do Windows. Aqui temos SOs Windows XP e 2000. Porém... geralmente faço isso por arquivos .bat e estou querendo executar isto remotamente.
A minha dúvida é:
Eu estava executando os scripts vbs pelo wscript.exe. Usava o seguinte comando wscript.exe file.vbs //X (isso me exibia uma janela pra eu selecionar qual ferramenta usar pra debugar, no caso eu escolhia o VS2005). Instalei o Windows Script 5.6 pra usar como debugador mas não funcionou (não exibia o valor das variáveis) e agora o comando que mencionei (//X) não me exibe mais a janela de seleção e só consigo debugar usando MessageBox.

Poderia me dizer alguma ferramenta pra debugar ou como fazer este comando //X do wscript.exe funcionar?

Obs.: Já desinstaleir o MS Script 5.6.

jaelsonwagner@gmail.com

Obrigado por qualquer ajuda. [17/6/08 11:46 - link]