Bat 파일에서 레지스트리에 줄을 추가합니다. Reg Bat 파일을 통해 Windows 레지스트리에 새 항목을 추가하거나 추가합니다. 기타 레지스트리 편집기

이 문서에서는 Windows 레지스트리 작업의 기본 원칙에 대해 간략하게 설명합니다. 이에 대한 지식은 레지스트리 조정을 사용하여 운영 체제를 사용자 정의하는 데 유용합니다.

술어

본론에 들어가기 전에 용어를 정의해야 합니다. 자동 설치 사이트에 게시된 레지스트리 조정에 대한 기사는 공식 Microsoft 용어를 사용하므로 해당 용어는 레지스트리 편집기의 요소와 상당히 일치합니다.

그림 1 - 레지스트리 편집기

보시다시피 여기에는 "분기"나 "키"가 없습니다. 이제 요점입니다.

REG 파일

REG 파일은 특정 형식으로 컴파일된 REG 확장자를 가진 텍스트 파일입니다.

REG 파일 형식

다음은 최근 문서 메뉴를 비활성화하는 REG 파일의 예입니다.

;최근 문서 메뉴 비활성화

"NoRecentDocsMenu"=16진수:01,00,00,00

REG 파일 생성

REG 파일을 만드는 것은 매우 간단합니다. 코드를 텍스트 편집기(예: 메모장)에 복사합니다. CTRL+S를 누르고 파일을 임의의 이름과 .reg 확장자로 저장하고 둘 다 따옴표로 묶습니다.


그림 2 - REG 파일 만들기

REG 파일 구문

  • Windows 레지스트리 편집기 버전 5.00- 파일 헤더는 필수적인 부분입니다. REGEDIT4를 헤더로 볼 수도 있습니다. 이는 Windows 98/NT 4.0 형식이지만 최신 Windows 운영 체제에서도 이해할 수 있습니다. 형식 차이에 대한 자세한 내용은 JSO FAQ 웹사이트(영문)에서 확인할 수 있습니다.
  • ;최근 문서 메뉴 비활성화- 코멘트. 다음으로 시작하는 모든 줄 ; (세미콜론)은 주석을 나타냅니다.
  • - 레지스트리 키입니다. 그래픽적으로(레지스트리 편집기에서) 매개변수에 대한 경로를 나타냅니다. REG 파일 형식에서 섹션은 항상 대괄호로 묶입니다. 이 예에서 Explorer(하위) 키는 HKEY_CURRENT_USER 키에 속합니다.
  • "NoRecentDocsMenu"=16진수:01,00,00,00- 레지스트리 매개변수와 그 의미. 매개변수 값에 따라 운영 체제나 객체의 동작이 변경됩니다. 운영 체제 GUI에서는 많은 매개변수를 구성할 수 있지만 전부는 아닙니다. 이러한 경우 레지스트리 편집기, 조정자 또는 REG 파일을 사용하여 매개변수를 변경합니다.

REG 파일에는 여러 레지스트리 키와 설정이 포함될 수 있지만 헤더는 맨 처음에만 사용됩니다.

Windows 레지스트리 편집기 버전 5.00

;BSOD의 경우 재부팅을 비활성화합니다.

"자동 재부팅"=dword:00000000

;읽지 않은 메시지에 대한 환영 화면 알림을 비활성화합니다.

"MessageExpiryDays"=dword:00000000

이 REG 파일은 레지스트리 편집기 regedit.exe에서 내보내서 얻었습니다. REG 파일을 사용하면 시스템 레지스트리를 변경할 수 있습니다. 이 작업을 레지스트리 설정 가져오기라고 합니다.

레지스트리 설정 내보내기

레지스트리 설정을 내보내는 것은 쉬운 작업입니다. 일반적으로 설정은 레지스트리를 변경하기 전에(백업) 내보내거나 나중에 다른 컴퓨터의 레지스트리로 가져오기 위해 또는 자동 시스템 설치 중에 REG 파일을 생성하기 위해 내보내집니다.
다양한 방법으로 레지스트리 설정을 내보낼 수 있습니다.

Windows 레지스트리 편집기(regedit.exe)

Windows OS에는 레지스트리 편집 프로그램이 포함되어 있습니다. regedit.exe. 시스템 디렉터리에 있으므로 명령줄에서 실행하기 위해 전체 경로를 지정할 필요가 없습니다. 예를 들어 다음 순서로 충분합니다. 시작 - 실행 - regedit - 확인).

레지스트리 키를 내보내려면 해당 키를 마우스 오른쪽 버튼으로 클릭하고 상황에 맞는 메뉴에서 명령을 선택하세요. 내보내다(Windows 2000에서는 이 명령이 메뉴에 있습니다. 파일).

기타 레지스트리 편집기

설정을 내보낼 수 있는 기능을 포함하여 시스템 레지스트리를 변경하는 프로그램이 많이 있습니다. 레지스트리 작업을 자주 하는 경우에는 주소 표시줄이 있는 프로그램이 필요할 것입니다. 복사한 레지스트리 키(기사 또는 포럼 게시물에서)를 주소 표시줄에 붙여넣고 원하는 설정으로 빠르게 이동할 수 있습니다. 그러한 프로그램의 예는 다음과 같습니다.

명령줄

명령줄에서 다음 구문이 포함된 REG EXPORT 명령을 사용하여 레지스트리 설정을 내보낼 수 있습니다.

REG EXPORT ROOT\Subkey 형식의 레지스트리 키에 대한 전체 경로입니다(로컬 컴퓨터에만 해당). 루트 파티션. 값: [ HKLM | HKCU | HKCR | 홍콩대 | HKCC]. 선택한 루트 파티션에 있는 레지스트리 키의 전체 경로입니다. 내보낼 디스크 파일의 이름입니다. 예: REG EXPORT HKLM\Software\MyCo\MyApp AppBkUp.reg MyApp 섹션의 모든 하위 섹션과 매개변수 값을 AppBkUp.reg 파일로 내보냅니다.

레지스트리 설정 가져오기

레지스트리 설정을 가져오는 방법에는 여러 가지가 있습니다.

GUI를 사용하여 REG 파일 실행

이것이 가장 쉬운 방법입니다. 이는 두 번 클릭하거나 명령줄에서 필요한 매개변수가 포함된 REG 파일을 실행하는 것으로 구성됩니다.

더블 클릭

사소하게 들리겠지만 REG 파일을 두 번 클릭하여 레지스트리를 변경할 수 있습니다. 그러나 먼저 시스템은 사용자가 정말로 이 작업을 수행할지 여부를 명확히 합니다. 대답이 긍정적이면 변경이 이루어집니다.


그림 3 - 시스템에서 변경 확인을 요청합니다.

이 쿼리로 인해 이 방법은 자동 시스템 설치 중에 레지스트리로 설정을 가져오는 데 적합하지 않습니다. 그러나 다른 방법도 있습니다.

명령줄

명령줄에서 REG 파일을 가져오려면 REGEDIT 명령이 있습니다. 명령줄에 입력하여

두 번 클릭할 때와 똑같은 대화 상자가 나타납니다. /S 매개변수와 함께 명령을 실행하여 대화 상자의 모양을 억제할 수 있습니다. Windows 자동 설치 시 가장 많이 사용되는 방법입니다..

REG ADD 명령

REG ADD 명령을 사용하여 레지스트리 설정을 가져올 수도 있습니다. 매개변수 가져오기 명령을 다른 작업도 수행하는 배치 파일에 포함할 수 있으므로 편리합니다(즉, 추가 REG 파일이 필요하지 않음). 예를 들어, 이 명령은 레지스트리 값을 RunOnceEx 키로 가져온 다음 처음 로그온할 때 프로그램을 설치하는 데 자주 사용됩니다. 명령 구문은 매우 간단합니다.

REG ADD [\\\] 원격 컴퓨터의 이름. 생략하면 기본적으로 로컬 컴퓨터의 이름과 동일한 것으로 간주됩니다. 원격 컴퓨터에서는 HKLM 및 HKU 파티션만 사용할 수 있습니다. ROOT\Subkey 형식의 레지스트리 키에 대한 전체 경로입니다. 루트 라델. 가치 [HKLM | HKCU | HKCR | 홍콩대 | HKCC]. 선택한 루트 파티션에 있는 레지스트리 키의 전체 경로입니다. /v 지정된 섹션에 추가할 매개변수의 이름입니다. /ve 지정된 섹션에 빈 매개변수(기본값)를 추가합니다. /t 데이터 유형. 기본적으로 REG_SZ와 동일한 것으로 간주됩니다. /s REG_MULTI_SZ 유형의 여러 줄 매개 변수에서 데이터를 구분하는 데 사용되는 구분 기호를 지정합니다. 기본적으로 "\0"과 동일한 것으로 간주됩니다. /d 추가할 레지스트리 매개변수에 할당된 값입니다. /f 경고 없이 기존 레지스트리 항목을 강제로 덮어씁니다. 예: REG ADD \\ABC\HKLM\Software\MyCo 원격 컴퓨터에 HKLM\Software\MyCo 섹션을 추가합니다. ABC REG ADD HKLM\Software\MyCo /v Data /t REG_BINARY /d fe340ead 이름이 Data, 유형: REG_BINARY 및 값: fe340ead REG ADD HKLM\Software\MyCo /v MRU /t REG_MULTI_SZ /d 팩스\0mail 이름이 MRU, 유형: REG_MUTLI_SZ 및 값: 팩스\0mail\0\0 REG ADD인 매개 변수를 추가합니다. HKLM\Software\ MyCo /v Path /t REG_EXPAND_SZ /d %%systemroot%% 이름이 Path, 유형: REG_EXPAND_SZ, 값: %systemroot%인 매개변수를 추가합니다. 참고: 줄에 이중 퍼센트 문자(%%)를 사용합니다.

INF 파일

INF 파일을 사용하여 설정을 레지스트리로 가져올 수도 있습니다. 일반적인 구문은 REG 파일보다 다소 복잡하지만 레지스트리에 직접 쓰는 것은 매우 간단합니다. 아래는 Msgina 애드온의 예입니다.

Signature="$Windows NT$" Msgina OptionDesc="Msgina" Tip="GINA 로그인 라이브러리" 모드=0,1,2,3 AddReg=Msgina.AddReg HKLM,"Software\Policies\Microsoft\Windows\System\ Shutdown" ,"ShowHibernateButton",0x10001,1 HKLM,"Software\Policies\Microsoft\Windows\System\Shutdown","HibernateAsButton",0x10001,1

메모. INF 파일에 대한 자세한 내용은 에서 확인할 수 있습니다.

Windows 운영 체제의 레지스트리는 전체 시스템의 성능을 담당합니다. 레지스트리 오류는 시스템 오류를 의미합니다. 그러나 상당수의 바이러스 또는 단순히 재능 있는 사람들이 다양한 방법으로 이를 비활성화하거나(레지스트리) 완전히 제어하려고 시도하거나, 선택적으로 명령줄을 통해 레지스트리를 파괴적으로 편집하려고 합니다.

무방비 상태의 사용자를 조롱할 수 있는 옵션이 상당히 많습니다. 특히 Windows 레지스트리와 명령줄이 있는 경우 더욱 그렇습니다. 따라서 재능 있는 사람 한 명을 통해 운영 체제를 다시 설치해야 하는 상황이 발생할 수 있습니다.

이 기사에서 나는 "예를 들어보기로 결정했습니다. 왕따» 귀하의 시스템을 통해. 먼저 시작 시 어떤 프로그램이 나열되어 있는지 주의 깊게 살펴보아야 합니다. 시작 폴더는 시작 메뉴를 통해 사용할 수 있지만 이는 빙산의 일각에 불과합니다. 예를 들어 Windows에 포함된 유틸리티를 사용하면 시작 폴더에 있는 내용을 더 안정적으로 볼 수 있습니다. msconfig(시작/실행/msconfig). 레지스트리 명령줄. 그러나 세상은 그렇게 단순하지 않으며 때로는 유틸리티와 같은 고급 도구를 사용할 가치가 있습니다. 자동 실행.exe. 도움을 받으면 탭에서 더 많은 것을 볼 수 있습니다 모든 것흥미로운 내용이 많이 쓰여 있는 다양한 섹션이 즉시 눈길을 사로잡습니다. 자세한 내용을 다루지 않고 간단한 예를 들어 다음 섹션에 주의해야 합니다.

  • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
  • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce

또한 다음 섹션을 살펴볼 가치가 있습니다.

  • HKEY_CURRENT_USERS\Software\Microsoft\Windows\CurrentVersion\Run

HKLM모든 사용자에게 적용됩니다. HKCU- 현재만요. 관리자 권한이 있는 새 사용자를 생성해 보겠습니다.

순 사용자 NewUser 비밀번호 /추가- NewUser 사용자를 생성하고 그에게 비밀번호를 할당합니다: 비밀번호

Net localgroup 관리자 NewUser /add- 새로 생성된 사용자를 관리자 그룹에 추가합니다.

스크립트 서버는 Wscript.Shell 개체와 레지스트리 작업을 위한 해당 메서드를 제공한다는 점을 기억할 가치가 있습니다.

이제 HKLM 분기를 사용하여 NewUser 사용자 비밀번호를 변경하기 위해 명령줄에서 시스템 레지스트리를 편집해 보겠습니다. 이렇게 하려면 계정을 통해 시스템에 로그인하고 다음 내용이 포함된 배치 파일(확장자가 .bat인 텍스트 파일)을 만들어야 합니다.

순 사용자 NewUser newpass

다음 작업은 NewUser 사용자가 이를 실행하도록 하는 것입니다. 이를 위해 명령줄에 다음을 작성합니다.

reg add HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce /v NewPass /t reg_sz /d c:\Master.bat /f

이 경우 문자열 유형 reg_sz를 사용하여 NewPass라는 새 매개 변수를 RunOnce 하위 섹션에 추가하고 본문 파일의 경로를 지정했습니다. 이제 로그인하면 Master.bat 스크립트가 실행되어 계정 정보가 변경됩니다.

물론 이것은 단순한 예에 지나지 않습니다. 문제는 명령줄을 통해 레지스트리를 편집하는 것이 좋습니다. , 그렇지 않으면 귀하의 조치가 예상한 결과를 가져오지 못할 수 있습니다. 슬픈 항목을 예로 들어 보겠습니다. 시스템 관리자가 레지스트리 편집을 금지했습니다. ", 이러한 장난은 일반적으로 바이러스에 의해 수행됩니다. 금지가 HKCU에 등록되어 있고 귀하가 관리자인 경우 새 관리자를 생성하고 이를 통해 시스템에 로그인하여 레지스트리를 열고 원하는 매개변수:

HKEY_CURRENT_USERS\Software\Microsoft\Windows\CurrentVersion\Policies\System

여기에 매개 변수가 있습니다 비활성화레지스트리도구 1에서 0으로 변경하거나 간단히 삭제하세요. 하지만 변태일 필요는 없습니다. 예를 들어 제3자 개발자의 편집기를 사용하는 것만으로도 충분합니다. 재조명하다, 또는 명령줄에서 레지스트리를 편집합니다.

REG 삭제 HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System /v 비활성화RegistryTools

그러나 스스로 돼지를 미끄러질 수 있습니다. 다음과 같은 유틸리티가 있습니다. 레지니, 레지스트리의 특정 분기에 권한을 할당할 수 있습니다. 이유는 모르겠지만 Seven에서는 regini /? 명령을 사용합니다. 전체 도움말이 표시되지만 Windows XP SP3에서는 아무것도 표시되지 않습니다. 따라서 유틸리티의 구문은 매우 간단합니다.

regini.exe -m "컴퓨터" "스크립트 파일 경로"

유틸리티가 로컬로 사용되는 경우에는 -m "computer" 매개변수가 필요하지 않습니다. 총 17개의 포인트가 있으며 각 포인트는 특정 권한을 결정합니다.

우선, 원하는 브랜치와 그에 대한 권한이 기록될 텍스트 파일을 생성해야 합니다. 예를 들어, 파일에 다음 줄을 쓰면 레지스트리\머신\보안, 그러면 관리자와 로컬 시스템 계정에 HKLM\SECURITY 레지스트리 하이브에 대한 전체 액세스 권한이 부여됩니다. 하지만 이 유틸리티에는 한 가지 결함이 있습니다. 즉, 이전 권한을 덮어쓴다는 것입니다. SECURITY 브랜치에 대한 권한을 살펴보면 로컬 시스템(SYSTEM)에만 전체 액세스 권한이 있음을 알 수 있으므로 관리자는 이 섹션의 내용을 볼 수 없습니다. regini 유틸리티를 사용하여 명령줄을 통해 레지스트리를 편집하고 SECURITY 분기에 전체 관리자 액세스 권한을 부여하기로 결정했습니다(이 작업은 레지스트리 편집기 자체에서 수행할 수 있음). 스크립트 파일에 다음 줄을 작성했습니다. 레지스트리\머신\보안. 레지스트리 명령줄.

유틸리티를 시작하고 스크립트 경로를 지정했습니다. 그리고 보라, 나는 이 스레드에 액세스할 수 있었고 아무것도 의심하지 않고 시스템을 재부팅했습니다. 로드할 때 "파일에 대한 권한이 없습니다"라는 메시지를 보고 깨달았습니다. 로컬 시스템에 액세스 권한이 부여되어야 합니다! 다행스럽게도 다른 나사에는 XP도 있었습니다. 비록 SP3이 아니라 SP2였음에도 불구하고 저는 단순히 전체 레지스트리를 교체했고, 보라, 시스템이 작동했습니다!

Windows 레지스트리는 전체 Windows 운영 체제에 대한 구성 설정을 저장합니다. 사용하여 Reg 명령줄 유틸리티레지스트리 항목을 보고, 추가하고, 삭제하고, 비교하고, 복사할 수 있습니다. Windows 레지스트리는 운영 체제의 올바른 작동에 매우 중요하므로 레지스트리가 시스템에 어떤 영향을 미치는지 정확히 파악한 후에만 레지스트리를 변경하십시오. 어떤 방식으로든 레지스트리를 편집하기 전에 전체 시스템 백업을 수행하고 시스템 복구 데이터의 스냅샷을 생성하십시오. 그러면 오류가 발생한 경우 레지스트리와 시스템을 복원할 수 있습니다.

Windows 레지스트리 키 및 설정

Windows 레지스트리는 운영 체제, 응용 프로그램, 사용자 및 하드웨어에 대한 구성 정보를 저장합니다. 이 데이터는 특정 루트 키에 있는 레지스트리 키와 값에 포함되어 있으며 키와 매개 변수가 사용되는 방법과 시기를 제어합니다. 루트 파티션에는 시스템, 사용자, 응용 프로그램 및 하드웨어 설정을 제어하는 ​​기본 키가 있습니다. 이러한 섹션은 트리 구조로 구성되며 섹션은 폴더로 표시됩니다. 따라서 HKEY_LOCAL MACHINE\SYSTEM\CurrentControlSet\Services 섹션에는 시스템에 설치된 모든 서비스에 대한 폴더가 있습니다. 이러한 폴더에는 중요한 구성 정보와 해당 하위 키를 저장하는 레지스트리 키가 포함되어 있습니다. 필수 레지스트리 키는 해당 폴더 경로를 통해 지정됩니다.

명령줄에서 레지스트리를 관리하는 REG 명령

REG는 여러 하위 명령을 지원하며 그 중 몇 가지를 살펴보겠습니다.

  • REG 추가- 레지스트리에 새로운 하위 섹션이나 요소를 추가합니다.
  • REG 삭제- 레지스트리에서 하위 섹션이나 요소를 제거합니다.
  • REG 쿼리- 섹션 요소 목록과 하위 섹션 이름(있는 경우)을 표시합니다.
  • REG 비교- 하위 키 또는 레지스트리 요소를 비교합니다.
  • REG 미안해요- 로컬 또는 원격 시스템의 지정된 섹션 경로에 레지스트리 요소를 복사합니다.
  • REG 복원- 이전에 저장된 하위 섹션, 요소 및 매개변수를 레지스트리에 기록합니다.
  • REG 저장- 지정된 하위 키, 요소 및 레지스트리 설정의 복사본을 파일에 저장합니다.

네트워크에 있는 컴퓨터의 레지스트리에서 특정 매개변수를 변경해야 하는 경우가 있습니다. 당연히 컴퓨터가 많을수록 이 작업을 수동으로 수행하는 것이 더 지루해집니다. 이 경우 네트워크 컴퓨터에 필요한 모든 변경 사항을 적용하는 bat 파일을 생성하여 프로세스를 자동화할 수 있습니다. 그런 다음 이 파일은 그룹 정책, Kaspersky Security Center와 같은 특수 소프트웨어를 통해 배포하거나 파일 자체에 컴퓨터 이름을 쓰고 컴퓨터에서 실행할 수 있습니다.

일반적으로 팀은 등록 추가다음과 같이:

reg 추가 섹션_이름

구문을 더 자세히 살펴보겠습니다. 더 나은 이해를 위해 레지스트리 항목의 예를 살펴보겠습니다.

이 항목은 다음 주소의 등록부에 있습니다. HKEY_CURRENT_USER\Software\Avast Software\Avast 브라우저 정리.그게 바로 그거야 섹션 이름 . 이 항목을 간단히 예로 들어보겠습니다. Bat 파일을 통해 레지스트리를 편집하려는 경우 필요한 항목을 추가할 위치를 확실히 알고 있습니다. 🙂

다른 컴퓨터의 레지스트리에 항목을 추가하려면 섹션 이름 앞에 다음을 써야 합니다. 컴퓨터 이름 , 이와 같이: \\컴퓨터_이름\파티션_이름.따라서 즉시 bat 파일에 컴퓨터 이름을 적어서 직접 한 번 실행할 수 있습니다. 당연히 도메인에 대한 적절한 권한이 있어야 합니다.

/v 항목 이름. 스크린샷에는 그러한 항목이 여러 개 있습니다. 예를 들어, 플러그인 정리됨.

/ve 레지스트리에 추가된 항목에 대해 null 값을 설정합니다. 필요하지 않습니다.

/t 데이터 유형 — 레지스트리 항목은 다음 데이터 유형 중 하나를 허용할 수 있습니다.

REG_SZ
REG_MULTI_SZ
REG_DWORD_BIG_ENDIAN
REG_DWORD
REG_BINARY
REG_DWORD_LITTLE_ENDIAN
REG_LINK
REG_FULL_RESOURCE_DESCRIPTOR
REG_EXPAND_SZ

/s 구분 기호 — 데이터 복사본을 구분하는 문자를 지정합니다. 데이터 유형일 때 사용됩니다. REG_MULTI_SZ목록에 둘 이상의 항목을 배치하는 경우. 구분 기호를 지정하지 않으면 기본 구분 기호 \0이 사용됩니다.

/d 값 — 추가할 레지스트리 항목의 값입니다.

/에프 — 확인을 요청하지 않고 섹션이나 항목을 추가합니다. 필요하지 않습니다.

명령줄에 다음을 입력하면 자세한 도움말을 볼 수 있습니다.

등록 추가 /?

우리의 예로 돌아갑니다. 나는 명령줄에 다음과 같이 입력했습니다.

reg add "HKEY_CURRENT_USER\Software\Avast Software\Avast Browser Cleanup" /v 프라이머 /t REG_DWORD /d 0

이 경우 명령줄에서 일반적으로 섹션 이름에 공백을 허용하려면 따옴표가 필요합니다. 보시다시피 매개변수를 만들었습니다. 뇌관유형으로 REG_DWORD그리고 의미 0 .



질문이 있으신가요?

오타 신고

편집자에게 전송될 텍스트: