Console Registry Tool for Windows (REG.EXE)

Por Robson Brandão, MVP

Esta poderosa ferramenta permite pesquisar, incluir, excluir e até salvar chaves do registro através de linha de comando, o que nos permite adaptá-la a um arquivo batch(.BAT) ou a uma rotina de script. Ela seria como um REGEDIT ou REGDT32 sem interface gráfica.

Antes de começar gostaria de fazer uma revisão sobre as root keys.

O registro do Windows tem uma organização parecida com a do Windows Explorer, onde temos pastas no painel esquerdo e seu conteúdo no painel direito da janela conforme a figura abaixo:

Cc668473.ConsoleRegistryTool_01(pt-br,TechNet.10).png

Os itens no painel da esquerda que estão abaixo do ícone My Computer são as root keys. A partir delas, são criadas subchaves de acordo com usuário logado, ou software instalado. A seguir uma tabela descrevendo o que contém cada root key:

Root Key

Descrição

HKEY_CURRENT_USER (HKCU)

Contém informações sobre o usuário que está logado no momento. Pastas de Usuários, configurações do Painel de Controle, esquema de cores, etc.

HKEY_USERS (HKU)

Contém configurações padrão. Por exemplo, o ambiente mostrado pelo Windows XP antes do logon que qualquer usuário no computador. HKEY_CURRENT_USER é uma subkey de HKEY_USERS.

HKEY_LOCAL_MACHINE (HKLM)

Mostra informações sobre configurações do computador aplicadas a qualquer usuário.

HKEY_CLASSES_ROOT (HKCR)

É uma subkey de HKEY_LOCAL_MACHINE\Software. A informação contida nesta chave assegura que o programa correto abra quando um arquivo é aberto.

HKEY_CURRENT_CONFIG (HKCC)

Informações sobre perfil de hardware usado na máquina local são armazenadas nesta chave.

Repare nos nomes abreviados das chaves, eles irão nos auxiliar na manipulação do registro pelo prompt de comando.

Observação: Muitos comandos citados a seguir podem ser usados em computador remoto e com diversos parâmetros adicionais.

REG QUERY

Sintaxe:
REG QUERY [\\Machine\]KeyName [/v ValueName | /ve] [/s]

Machine

Computador remoto, se omitido pesquisa no computador local.
Somente HKLM e HKU estão disponíveis para computadores remotos.

/v

pesquisa uma chave específica no registro. Se omitida todos os valores serão mostrados

/vê

pesquisa pelos valores padrões

/s

pesquisa todas as subchaves e valores

O REG Query é o comando que permite fazer pesquisas no registro. Por exemplo, quero saber se tem Office Instalado na minha máquina. Para isso eu digito a linha abaixo:

REG QUERY HKLM\Software\Microsoft\Office

Cc668473.ConsoleRegistryTool_02(pt-br,TechNet.10).png

Encontrei o Office 11 (Office 2003) na máquina. Caso você queira detalhes sobre o que está instalado no Office, acrescente o \11.0 no comando acima que será exibido o que foi instalado do Office. Percebeu o valor disso em um script ou batch?

Então veja um exemplo:

TemOffice.bat

@Echo off

REG QUERY HKLM\SOFTWARE\Microsoft\Office >nul

goto %ERRORLEVEL% 

:1
Echo Você ainda NAO instalou o Office

:0
Echo Microsoft Office ja instalado

Você pode incrementar a Batch colando o caminho do servidor para fazer a instalação do Office no login script por exemplo.

REG ADD

Sintaxe:
REG ADD [\\Machine\]KeyName [/v ValueName | /ve] [/t Type] [/s Separator] [/d Data] [/f]

Machine

Computador remoto, se omitido, será adicionado no computador local.
Somente HKLM e HKU estão disponíveis para computadores remotos.

/v

O nome do valor dentro da chave que será criado.

/ve

Cria um nome de valor vazio <no name> para a chave.

/t

Tipos da dados
[REG_SZ | REG_MULTI_SZ | REG_DWORD_BIG_ENDIAN |
REG_DWORD | REG_BINARY | REG_DWORD_LITTLE_ENDIAN |
REG_NONE | REG_EXPAND_SZ ]
Se omitido, REG_SZ é criado.

/s

Especifica um character para usar como separador dentro da string REG_MULTI_SZ.
Se omitida, é usado "\0".

/d

O dado em si que sera adicionado.

/f

Sobrescreve os valores atuais sem perguntar

Com o REG ADD você pode inserir chaves e valores ao registro. Por exemplo, vamos supor que você pretende mudar o tipo de nó da sua máquina para nó tipo M-Node (Mixed), cujo valor é 4, basta digitar:

REG ADD  HKLM\SYSTEM\CurrentControlSet\Services\NetBT\Parameters /v NodeType /t Reg_DWord / d 4

Cc668473.ConsoleRegistryTool_03(pt-br,TechNet.10).png

Neste exemplo, ele criou a chave NodeType do tipo D_Word com valor 4.

/v - Cria a chave
/t - Determina o tipo
/d - O valor

REG DELETE

O REG DELETE como o nome sugere, serve para apagar uma chave de registro.
O exemplo abaixo apaga uma chave de registro que criei chamada de teste

REG DELETE HKLM\Software\teste /v Data /f

O parâmetro /f foi usado para forçar a exclusão da chave.

REG COMPARE

Usado para comparar duas chaves de registro. Um exemplo prático é comparar a chave de uma máquina com outra, conforme o exemplo abaixo:

REG COMPARE HKCU\Software \\TESTE\HKCU\Software /s.

Esse exemplo demostra a comparação da chave HKCU\Software da máquina local com a máquina TESTE.

REG COPY

Usado para copiar de subchave para outra. Ideal para backup.

REG COPY HKCU\SOFTWARE\Microsoft\Office HKCU\Backup\Office /s

Neste exemplo, a chave do Office foi copiado para uma chave chamada de Backup\Office, criando assim um backup da chave.

REG EXPORT

Esse comando permite exportar uma chave completa para um arquivo .REG, mas tem algumas limitações: Não permite criar arquivos de computadores remotos, só locais e só cria aquivos para a versão 5 do Registry.

REG EXPORT "HKCU\Software\Microsoft\Internet Explorer" IE.REG

REG IMPORT

Quem nunca digitou regedit /s arquivo.reg ? Esse comando faz exatamente isso de modo silencioso e funciona com versões 4 e 5 do Registry, mas somente em computadores locais.

REG IMPORT IE.REG

REG SAVE

Usado para salvar arquivos tipo Hive pelo REG.EXE. É a mesma coisa que clicar em File - Export e salvar como Registry Hive File conforme a figura:

Cc668473.ConsoleRegistryTool_04(pt-br,TechNet.10).png

É importante usar esse comando quando se pretende fazer uma mudança muito importante no Registro. Lembrando que esse comando só funciona na máquina Local.

REG SAVE HKCU Backup.dat

REG RESTORE

Use o Restore para restaurar arquivos Hive criados anteriormente. O Restore só funciona em máquinas locais e sobrescreve qualquer chave previamente criada no Registro, portanto use com cuidado.

REG RESTORE HKCU Backup.dat

REG LOAD

Carrega o conteúdo de um arquivo Hive em uma chave temporária. É comum usar o REG LOAD quando você quer testar uma chave de registro que você não quer que fique fisicamente registrada no Registro. Você carrega, testa e depois descarrega.

REG LOAD HKCU\Temporario Meuteste.dat

REG UNLOAD

Ao contrário do LOAD que carrega em chave temporária, o UNLOAD descarrega, ou seja, ele remove a chave temporária que você criou com o LOAD. Você deve sempre usar o UNLOAD para descarregar as chaves após o teste.

REG UNLOAD HKCU