Information security 2009. 8. 14. 10:56

명령줄 레지스트리 편집 reg.exe

출처 : 위키백과(http://ko.wikipedia.org/wiki/%EC%9C%88%EB%8F%84_%EB%A0%88%EC%A7%80%EC%8A%A4%ED%8A%B8%EB%A6%AC)


그냥 reg /?가 속편한 듯... 복잡하다.


명령 줄 편집

레지스트리는 명령 줄에서 수많은 방법으로 제어할 수 있다. reg.exe 유틸리티 도구는 윈도 XP윈도 비스타에 포함되어 있으며, 이전 버전용 또한 별도로 내려 받아 사용할 수 있다. 윈도의 설치 CD 원본에 있는 리소스 킷 CD에도 이 유틸리티가 포함되어 있다.

reg.exe Operation [매개변수 목록]
Operation [QUERY|ADD|DELETE|COPY|SAVE|LOAD|UNLOAD|RESTORE|COMPARE|EXPORT|IMPORT]

또한 .REG 파일은 다음의 명령어를 통해 가져올 수 있다:

regedit.exe /s 파일 이름

/s 는 레지스트리에 조용하게 병합한다는 것을 뜻한다. /s 변수가 빠지면, 레지스트리 병합 작업을 수행할 것인지 사용자에게 확인을 요청한다. 윈도 95와 윈도 98에서 /s 스위치는 regedit.exe가 관리자가 비활성화할 수 있게 만들어 주는 레지스트리 안의 설정 사항을 무시하게 만든다. /s 스위치를 사용하면 Regedit는 작업을 실패할 때 reg.exe가 하는 바와 달리 적절한 반환 코드를 반환하지 않는다. (기본적으로 실패 여부를 알려 주지 않는다는 뜻) 그러나 다음과 같은 줄을 배치 파일에 추가함으로써 실패 여부를 확인할 수 있다:

regedit /s file.reg
regedit /e test.reg "key"
if not exist test.reg goto REGERROR
del test.reg

윈도 98을 시작으로, 마이크로소프트 윈도의 수많은 버전에서 .REG 파일의 기본 연결은 사용자에게 병합 확인을 요구하지 않는다.

다른 명령 줄 옵션은 CScript, WMI (WMIC.exe), 윈도 파워셸과 더불어 VBScript 또는 JScript를 함께 포함하고 있다.

레지스트리 허가는 SubInACL.exe 도구를 이용하여 제어할 수 있다. HKEY_LOCAL_MACHINE\SOFTWARE 키의 허가는 다음과 같이 입력하여 표시할 수 있다:

subinacl /keyreg HKEY_LOCAL_MACHINE\SOFTWARE /display

HKEY_LOCAL_MACHINE\SOFTWARE 키와 해당하는 모든 서브키의 소유자를 관리자로 설정하려면 다음과 같이 하면 된다:

subinacl /keyreg HKEY_LOCAL_MACHINE\SOFTWARE /setowner=Administrator
subinacl /subkeyreg HKEY_LOCAL_MACHINE\SOFTWARE /setowner=Administrator

HKEY_LOCAL_MACHINE\SOFTWARE 키를 완전하게 관리자 권한으로 제공하려면 다음과 같이 하면 된다:

subinacl /keyreg HKEY_LOCAL_MACHINE\SOFTWARE /grant=Administrator=F