O Registro do Windows é um banco de dados hierárquico que armazena definições de configuração do sistema operacional, aplicativos e hardware. Saber como ler, escrever e excluir entradas do registro é essencial para a administração de sistemas, solução de problemas e configuração de aplicativos. Este guia cobre múltiplos métodos, incluindo o editor gráfico, ferramentas de linha de comando e PowerShell.
Compreendendo a estrutura do Registro
O registro é organizado em cinco chaves raiz (hives):
| Hive | Abreviatura | Finalidade |
|---|---|---|
| HKEY_LOCAL_MACHINE | HKLM | Configurações de todo o computador (hardware, software, sistema) |
| HKEY_CURRENT_USER | HKCU | Configurações do usuário atualmente conectado |
| HKEY_CLASSES_ROOT | HKCR | Associações de arquivos e registros de objetos COM |
| HKEY_USERS | HKU | Configurações de todos os perfis de usuário na máquina |
| HKEY_CURRENT_CONFIG | HKCC | Informações do perfil de hardware atual |
Cada hive contém chaves (como pastas) e valores (como arquivos). Os valores possuem um nome, um tipo e dados.
Tipos de valores comuns
| Tipo | Descrição | Exemplo |
|---|---|---|
| REG_SZ | String | C:\Program Files\MyApp |
| REG_DWORD | Inteiro de 32 bits | 1 (frequentemente usado para ligar/desligar) |
| REG_QWORD | Inteiro de 64 bits | 4294967296 |
| REG_BINARY | Dados binários | 01 00 00 00 |
| REG_EXPAND_SZ | String expansível (variáveis de ambiente) | %SystemRoot%\System32 |
| REG_MULTI_SZ | Multi-string (array de strings) | String1\0String2\0 |
Método 1: Editor do Registro (Regedit)
O Editor do Registro gráfico é a forma mais comum de navegar e editar o registro.
Abrindo o Regedit
- Pressione Win + R, digite
regedite pressione Enter. - Aceite o prompt do UAC (privilégios de administrador são necessários para alterações no HKLM).
Lendo valores
- Navegue até a chave desejada no painel esquerdo usando a estrutura de árvore.
- Os valores da chave selecionada aparecem no painel direito mostrando o nome, tipo e dados.
Escrevendo (criando ou modificando) valores
Para criar um novo valor:
- Navegue até a chave de destino.
- Clique com o botão direito no painel direito e selecione Novo > escolha o tipo de valor (Valor da Cadeia de Caracteres, DWORD, etc.).
- Digite o nome do valor e pressione Enter.
- Clique duas vezes no novo valor para definir seus dados.
Para modificar um valor existente:
- Clique duas vezes no valor no painel direito.
- Altere os dados e clique em OK.
Excluindo valores ou chaves
- Clique com o botão direito no valor ou chave.
- Selecione Excluir.
- Confirme a exclusão.
Fazendo backup antes das alterações
Sempre exporte um backup antes de fazer alterações:
- Clique com o botão direito na chave que está prestes a modificar.
- Selecione Exportar.
- Salve o arquivo
.regem um local seguro.
Para restaurar, clique duas vezes no arquivo .reg e confirme a importação.
Método 2: Ferramenta de linha de comando reg.exe
O comando reg é integrado ao Windows e é útil para scripting e arquivos em lote.
Lendo valores
:: Read a specific value
reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion" /v ProgramFilesDir
:: List all values under a key
reg query "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run"
:: Recursive query
reg query "HKLM\SOFTWARE\MyApp" /s
Escrevendo valores
:: Create or modify a string value (REG_SZ)
reg add "HKCU\SOFTWARE\MyApp" /v SettingName /t REG_SZ /d "SettingValue" /f
:: Create a DWORD value
reg add "HKCU\SOFTWARE\MyApp" /v EnableFeature /t REG_DWORD /d 1 /f
:: Create a QWORD value
reg add "HKCU\SOFTWARE\MyApp" /v LargeNumber /t REG_QWORD /d 8589934592 /f
:: Create an expandable string value
reg add "HKLM\SOFTWARE\MyApp" /v InstallPath /t REG_EXPAND_SZ /d "%ProgramFiles%\MyApp" /f
A flag /f força a operação sem solicitar confirmação.
Excluindo valores e chaves
:: Delete a specific value
reg delete "HKCU\SOFTWARE\MyApp" /v SettingName /f
:: Delete an entire key and all its values and subkeys
reg delete "HKCU\SOFTWARE\MyApp" /f
Exportando e importando
:: Export a key to a .reg file
reg export "HKCU\SOFTWARE\MyApp" C:\backup\myapp_settings.reg
:: Import a .reg file
reg import C:\backup\myapp_settings.reg
Método 3: PowerShell
O PowerShell oferece a abordagem mais flexível para gerenciamento do registro, utilizando cmdlets que tratam o registro como um sistema de arquivos.
Navegando pelo Registro
O PowerShell mapeia as ramificações do registro como PSDrives:
# List available registry drives
Get-PSDrive -PSProvider Registry
# Navigate to HKLM
Set-Location HKLM:\SOFTWARE\Microsoft
# List subkeys
Get-ChildItem HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion
Lendo valores
# Read all values in a key
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion"
# Read a specific value
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion" -Name "ProgramFilesDir"
# Get just the value data
(Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion").ProgramFilesDir
# Check if a value exists
$value = Get-ItemProperty -Path "HKCU:\SOFTWARE\MyApp" -Name "Setting" -ErrorAction SilentlyContinue
if ($value) {
Write-Host "Value exists: $($value.Setting)"
} else {
Write-Host "Value does not exist"
}
Escrevendo valores
# Create a new key
New-Item -Path "HKCU:\SOFTWARE\MyApp" -Force
# Create or modify a string value
Set-ItemProperty -Path "HKCU:\SOFTWARE\MyApp" -Name "AppName" -Value "My Application"
# Create a DWORD value
New-ItemProperty -Path "HKCU:\SOFTWARE\MyApp" -Name "EnableFeature" `
-Value 1 -PropertyType DWORD -Force
# Create a multi-string value
New-ItemProperty -Path "HKCU:\SOFTWARE\MyApp" -Name "ServerList" `
-Value @("Server01", "Server02", "Server03") -PropertyType MultiString -Force
# Create a binary value
New-ItemProperty -Path "HKCU:\SOFTWARE\MyApp" -Name "BinaryData" `
-Value ([byte[]](0x01, 0x02, 0x03, 0x04)) -PropertyType Binary -Force
# Create an expandable string value
New-ItemProperty -Path "HKCU:\SOFTWARE\MyApp" -Name "LogPath" `
-Value "%USERPROFILE%\Logs" -PropertyType ExpandString -Force
Excluindo valores e chaves
# Delete a specific value
Remove-ItemProperty -Path "HKCU:\SOFTWARE\MyApp" -Name "EnableFeature"
# Delete an entire key and all its contents
Remove-Item -Path "HKCU:\SOFTWARE\MyApp" -Recurse -Force
# Delete a value only if it exists
if (Get-ItemProperty -Path "HKCU:\SOFTWARE\MyApp" -Name "Setting" -ErrorAction SilentlyContinue) {
Remove-ItemProperty -Path "HKCU:\SOFTWARE\MyApp" -Name "Setting"
}
Consultando o Registro remoto
# Read registry on a remote computer
Invoke-Command -ComputerName "Server01" -ScriptBlock {
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion" -Name "ProgramFilesDir"
}
Método 4: Preferências de Política de Grupo
Para ambientes corporativos, as Preferências de Política de Grupo (GPP) são a forma recomendada de implantar alterações no registro em vários computadores.
Passos
- Abra o Console de Gerenciamento de Política de Grupo e edite um GPO.
- Navegue até Configuração do Computador (ou Configuração do Usuário) > Preferências > Configurações do Windows > Registro.
- Clique com o botão direito e selecione Novo > Item do Registro.
- Configure o item do registro:
- Ação: Criar, Substituir, Atualizar ou Excluir
- Hive: Selecione a chave raiz
- Caminho da chave: Insira o caminho completo
- Nome do valor: O nome do valor
- Tipo do valor: REG_SZ, REG_DWORD, etc.
- Dados do valor: Os dados a serem definidos
- Clique em OK.
Ações explicadas
| Ação | Comportamento |
|---|---|
| Criar | Cria o valor somente se ele ainda não existir |
| Substituir | Exclui e recria o valor (remove primeiro se existir, depois cria) |
| Atualizar | Cria o valor se não existir, ou o modifica se existir |
| Excluir | Remove o valor |
Atualizar é a ação mais utilizada porque lida tanto com a criação quanto com a modificação.
Caminhos comuns do Registro
Aqui estão as localizações do registro acessadas com frequência:
| Caminho | Finalidade |
|---|---|
HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run | Programas de inicialização do usuário atual |
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run | Programas de inicialização de todos os usuários |
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall | Lista de programas instalados |
HKLM\SYSTEM\CurrentControlSet\Services | Configuração de serviços do Windows |
HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer | Configurações do shell do Explorer |
HKLM\SOFTWARE\Policies | Configurações de Política de Grupo do computador |
HKCU\SOFTWARE\Policies | Configurações de Política de Grupo do usuário |
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion | Informações da versão do Windows |
Melhores práticas de segurança
- Sempre faça backup antes de fazer alterações. Exporte a chave ou crie um ponto de restauração do sistema.
- Nunca exclua chaves que você não compreende, especialmente sob HKLM\SYSTEM ou HKLM\SOFTWARE\Microsoft\Windows NT.
- Teste as alterações em uma única máquina antes de implantá-las em vários computadores via GPO.
- Use Preferências de Política de Grupo para implantação corporativa em vez de edição manual ou scripts de logon.
- Documente todas as alterações para que possam ser revertidas se surgirem problemas.
- Use a flag /f com cuidado com reg.exe, pois ela ignora os prompts de confirmação.
Resumo
As entradas do Registro do Windows podem ser lidas, escritas e excluídas por meio de múltiplos métodos. O Regedit fornece uma interface gráfica para navegação e edição interativa. A ferramenta de linha de comando reg.exe é ideal para scripts e arquivos em lote. Os cmdlets do PowerShell (Get-ItemProperty, Set-ItemProperty, New-ItemProperty, Remove-ItemProperty) oferecem a abordagem mais flexível e programável. Para ambientes corporativos, as Preferências de Política de Grupo fornecem implantação centralizada e gerenciável de alterações no registro em computadores associados ao domínio. Independentemente do método, sempre crie um backup antes de modificar o registro e teste as alterações em um ambiente controlado primeiro.