Como posso criar um novo arquivo .reg da CLI

0

Eu gostaria de criar um novo .reg arquivo e adicioná-lo ao registro, como sugerido em Este artigo .

REGEDIT4
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\IniFileMapping\Autorun.inf]
@="@SYS:DoesNotExist"

É bem simples. Mas eu quero roteirizar isso. Eu pensei que eu poderia apenas usar REG ADD, mas não tenho certeza de como incorporar @="@SYS:DoesNotExist" parte no final.

tjt263
fonte

Respostas:

1

Crie seu arquivo de lote - por exemplo, fix.bat - com o seguinte conteúdo:

echo REGEDIT4 > fix.reg
echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\IniFileMapping\Autorun.inf] >> fix.reg
echo @="@SYS:DoesNotExist" >> fix.reg

Execute o lote e ele criará seu arquivo com o conteúdo desejado. Você pode mesclar manualmente o arquivo .reg ou pode ir além e usar o arquivo em lotes para mesclar fix.reg arquivo criado com o script no Registro do Windows:

echo REGEDIT4 > fix.reg
echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\IniFileMapping\Autorun.inf] >> fix.reg
echo @="@SYS:DoesNotExist" >> fix.reg
regedit.exe /S fix.reg
Kinnectus
fonte
Eu aprecio isso, mas yuck. Isso é necessário? Não posso apenas REG ADD isso, ou algo assim?
tjt263
@ tjt263 Esta resposta fornece uma solução baseada na maneira como sua pergunta é redigida. Isto é, cria um .reg arquivo e importa esse arquivo.
Worthwelle
o que mais você tem
tjt263
Acho que a resposta da LotPings lhe dará o script completo que você procura :)
Kinnectus
1

Se você uma vez importar essa chave e procurar com REG QUERY,
você verá que o primeiro @ refere-se à chave padrão do tipo REG_SZ com conteúdo @SYS:DoesNotExist.

Então, para criar a chave diretamente com REG ADD use o seguinte lote que, como direitos de administrador são necessários, eleva-se automaticamente (com o UAC caindo):

:: Q:\Test\2018\11\29\SU_1379397.cmd
@echo off & setlocal EnableExtensions DisableDelayedExpansion
:: if not already running as admin, elevate and run batch again
net file 1>nul 2>&1 || (
  powershell -ExecutionPolicy unrestricted -Command ^
  "Start-Process -Verb RunAs -FilePath '%comspec%' -ArgumentList '/c %~f0 %*'"
  goto :eof
)
:: Put code here that needs elevation
@Echo off
Set "Key=HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\IniFileMapping\Autorun.inf"
Set "Dat=@SYS:DoesNotExist"
REG ADD "%Key%" /ve /t REG_SZ /d "%Dat%" /f
TIMEOUT /T 10
LotPings
fonte