CLI에서 새 .reg 파일을 생성하는 방법

CLI에서 새 .reg 파일을 생성하는 방법

.reg제안한 대로 새 파일을 만들어 레지스트리에 추가하고 싶습니다 .이 기사.

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

꽤 간단합니다. 하지만 나는 그것을 대본으로 쓰고 싶다. 그냥 사용해도 될 줄 알았는데 , 마지막에 REG ADD그 부분을 어떻게 통합해야 할지 모르겠네요 .@="@SYS:DoesNotExist"

답변1

fix.bat예를 들어 다음 내용으로 배치 파일을 만듭니다 .

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

배치를 실행하면 원하는 콘텐츠가 포함된 파일이 생성됩니다. .reg 파일을 수동으로 병합하거나 한 단계 더 나아가 배치 파일을 사용하여 fix.reg스크립트로 생성된 파일을 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

답변2

해당 키를 가져와서 로 조회하면 REG QUERY첫 번째 키가 content 유형의 기본 키를 참조한다는
것을 알 수 있습니다 . @REG_SZ@SYS:DoesNotExist

따라서 관리자 권한이 필요하므로 자동으로 권한이 상승하는 다음 배치를 사용하여 키를 직접 생성하려면 REG ADD(UAC가 포함됨):

:: 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

관련 정보