Precisando alterar chaves de registro de forma automatizada, e com apenas um comando no Prompt, sem passar minutos procurando pela mesma?
O comando REG EDIT nos auxilia de forma fantástica nessa tarefa.
Simples, já conhecido por muitos, mas pouco utilizado, esse comando pode ser usado para alterar, deletar ou incluir quantas chaves de entradas no registro se fizerem necessárias….
Abaixo, a sintaxe usual da funcionalidade:
C:\WINDOWS>REG ADD /?
REG ADD KeyName [/v ValueName | /ve] [/t Type] [/s Separator] [/d Data] [/f]
KeyName [\\Computer\]FullKey
Computer Nome do computador remoto – omitindo padrões para o
computador atual. Apenas HKLM e HKU estão disponíveis
em computadores remotos
FullKey ROOTKEY\SubKey
ROOTKEY [ HKLM | HKCU | HKCR | HKU | HKCC ]
SubKey Nome completo da Chave do Registro no ROOTKEY selecionado
/v O nome do valor, na chave selecionada, a ser adicionado
/ve adiciona um nome de valor em branco (padrão) para a chave
/t tipos de dados RegKey
[ REG_SZ | REG_MULTI_SZ | REG_EXPAND_SZ |
REG_DWORD | REG_BINARY | REG_NONE ]
Se omitido, pressupõe-se o uso de REG_SZ
/s Especifique um caractere a ser usado como separador na seqüência
de dados para REG_MULTI_SZ. Se omitido, usar “” como separador
/d Os dados a serem atribuídos ao ValueName do Registro que está
sendo adicionado
/f Forçar substituição da entrada do Registro existente sem
perguntar antes
Exemplos:
REG ADD \\ABC\HKLM\Software\MyCo
Adiciona uma chave HKLM\Software\MyCo no computador remoto ABC
REG ADD HKLM\Software\MyCo /v Data /t REG_BINARY /d fe340ead
Adiciona um valor (nome: dados, tipo: REG_BINARY, dados: fe340ead)
REG ADD HKLM\Software\MyCo /v MRU /t REG_MULTI_SZ /d faxmail
Adiciona um valor (nome: MRU, tipo: REG_MUTLI_SZ, dados: faxmail)
REG ADD HKLM\Software\MyCo /v Caminho /t REG_EXPAND_SZ /d ^%systemroot^%
Adiciona um valor (nome: caminho,tipo: REG_EXPAND_SZ, dados:
%systemroot%)
Aviso: use um acento circunflexo ( ^ ) dentro da seqüência de expansão
EXAMPLE
Add BINARY to [TestVal] in [HKLM\Software\TestFolder]
C:\WINDOWS>REG DELETE /?
REG DELETE KeyName [/v ValueName | /ve | /va] [/f]
KeyName [\\Machine\]FullKey
Machine Nome do computador remoto – omitindo, padrões do computador
atual
Apenas HKLM e HKU estão disponíveis em computadores remotos
FullKey ROOTKEY\SubKey
ROOTKEY [ HKLM | HKCU | HKCR | HKU | HKCC ]
SubKey Nome completo de uma chave do Registro na ROOTKEY selecionada
ValueName Nome do valor a ser excluído na chave selecionada
Se omitido, todas as subchaves e valores na chave são excluídos
/ve excluir o valor de nome de valor vazio (padrão)
/va excluir todos os valores nesta chave
/f Força a exclusão sem perguntar
Exemplos:
REG DELETE HKLM\Software\MyCo\MyApp\Timeout
Exclui a chave to Registro Timeout e suas subchaves e valores
REG DELETE \\ZODIAC\HKLM\Software\MyCo /v MTU
Exclui o valor do Registro MTU em MyCo em ZODIAC
C:\WINDOWS>REG COPY /?
REG COPY KeyName1 KeyName2 [/s] [/f]
KeyName [\\Machine\]FullKey
Machine Nome do computador remoto – omitindo padrões para computador
atual
Apenas HKLM e HKU estão disponíveis em computadores remotos
FullKey ROOTKEY\SubKey
ROOTKEY [ HKLM | HKCU | HKCR | HKU | HKCC ]
SubKey Nome completo de uma chave de registro na ROOTKEY selecionada
/s Copia todas as sub-chaves e valores
/f Força a cópia sem prompt
Exemplos:
REG COPY HKLM\Software\MyCo\MyApp HKLM\Software\MyCo\SaveMyApp /s
Copia todas as sub-chaves e valores na chave MyApp para a chave SaveMyApp
REG COPY \\ZODIAC\HKLM\Software\MyCo HKLM\Software\MyCo1
Copia todos os valores na chave MyCo em ZODIAC para a chave MyCo1
na máquina atual
Fonte: Help do prompt REG EDIT – Windows XP
Valew Brunow..add um registro que um maldito proslikefan havia deletado.
Obrigado
CurtirCurtir
Olá Lopez, eu estava lendo uma matéria sobre comandos nos DOS para editar chaves no REGEDIT. Tenho uma dúvida e gostaria de saber se você pode me ajudar.
Estou criando uma .bat que renomeia perfil de usuários no C: (Até aqui tranquilo) porém gostaria que ela também conseguisse renomear a pasta correspondente no REGEDIT ao usuário renomeado. Se caso isso não for possível teria um meio de conseguir abrir a pasta de Profile List no regedit diretamente pelo DOS?
CurtirCurtir
Olá Rui,
Então, se você deseja essa informação por conta de perfis temporários, há até um script já criado no Gallery TechNet pra isso, veja:
Fix temporary profile
https://gallery.technet.microsoft.com/scriptcenter/Fix-temporary-profile-535ae062
Se não, realmente deverá tratar isso com PowerShell ou CMD para que a alteração no Registro seja viável. No PowerShell é o mais recomendado.
Abços,
CurtirCurtir
Me ajudou muito. Muito Obrigado!
CurtirCurtir
Que bom que ajudou, Adriel!
Continue sempre visitando o Blog. 😉
CurtirCurtir
Mas no W7 ele faz isso no HKCR? Digo, de forma automatizada já que o W7 não permite isso; só permite manualmente.
CurtirCurtir
Mark, você pode tentar automatizar sim, usando algum tipo de script ou PowerShell. Não entendi seu questionamento sobre o Windows 7. Consegue nos dar mais detalhes?
Abços,
CurtirCurtir
Se o texto escrito no POST não fosse totalmente copiado da tela do Prompt (comando /?) eu daria um Share.
CurtirCurtir
Luciano, a idéia era essa mesma; converter o conteúdo do /? em texto, para facilitar a leitura de quem não utiliza ou desconhece as opções, e facilitar pra quem estiver pesquisando algum cmdlet na Internet.
Mas fique livre pra compartilhar ou não! Só de você ter comentado no blog já é positivo. 😉
CurtirCurtir
Muito Bom, ajudou a entender o help do Command.
CurtirCurtir
Que bom que ajudou, Valdeir.
Obrigado pela visita ao blog. 🙂
CurtirCurtir
Bom dia Bruno,
Preciso alterar o regsitro para mudança do horario de verão, criei um .reg pra isso, mas preciso aplicar esse registros via script de logon, mas para isso preciso executar como adm, vc tem como me ajudar nisso!?
Att
Eduardo Neto
CurtirCurtir
Olá Eduardo,
Recomendo que você faça essa ação através de GPP (Group Policy Preference) e não via script de logon. Será muito mais simples e efetivo. Veja como é fácil através deste artigo da comunidade:
https://thesolving.com/server-room/how-to-deploy-a-registry-key-via-group-policy/
Abços,
CurtirCurtir
Boa tarde Bruno, tudo bem?
Estou com uma dificuldade para entender como funciona a questão do path na hora de criar a linha de comando.
Eu quero inserir um novo valor DWORD e setar nele 120000 em hexadecimal, o path onde eu preciso desse novo valor é: \HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings
Sendo assim estou fazendo o seguinte comando no cmd: REG ADD HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings /v teste /t REG_DWORD /d 120000
Porem ele da erro “nome de chave invalido”, testei com nome completo da HKEY, sem ela, com ela, com a rootkey,.. Poderia me dar um auxilio?
CurtirCurtir
Consegui, precisava apenas de aspas no path! o/ Ficou assim:
REG ADD “\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings” /v teste /t REG_DWORD /d 120000
CurtirCurtir