본문 바로가기
Windows/PowerShell

[Windows] PowerShell 로 레지스트리 값 생성, 변경, 읽기, 삭제 CRUD

by 지혜를 탐구하는 오딘 2022. 3. 23.
728x90
반응형

 


PowerShell 은 Windows에서 거의 모든 일을 할 수 있다.

 

Windows에서 중요한 것 중 하나인, 레지스트리 변경도 물론 할 수 있다.

레지스트리 변경하려면 PowerShell을 관리자 모드로 실행해야 한다.

레지스트리 값을 읽고, 만들고, 수정하고, 삭제하는 것을 해보자. (CRUD, Create, Read, Update, Delete ㅋㅋㅋㅋ)

 

레지스트리 생성, 읽기, 수정, 삭제 하는 명령어 예시

 

1. 레지스트리 읽기

$Registry_path		# 레지스트리 경로
$Registry_Name		# 레지스트리 이름

Get-ItemProperty  `
	-Path $Registry_path  `
	-Name $Registry_Name

레지스트리의 이름, 경로를 입력하면, 레지스트리의 정보를 보여준다.

만약 경로나 이름이 잘못되었다면,  오류 메시지를 반환한다. ('존재하지 않다' 또는 '존재하지 않다')

 


2. 레지스트리 생성

$Registry_Path 		# 레지스트리 경로
$Registry_Name 		# 레지스트리 이름
$Property_Type 		# 레지스트리 타입
$Value			# 레지스트리 값

New-ItemProperty  `
	-Path $Registry_Path `
	-Name $Registry_Name `
	-PropertyType $Property_Type `
	-Value $Value

새로 만들 레지스트리의 경로, 이름, 타입, 값을 정해준다.

타입의 종류는 다음과 같다.

 

Property Type REG Type 의미
BINARY REG_BINARY 이진 값
DWORD REG_DWORD DWORD(32비트)
QWORD REG_QWORD QWORD(64비트)
String REG_SZ 문자열 값
MultiString REG_MULTI_SZ 다중 문자열 값
ExpandString REG_EXPAND_SZ 확장 가능한 문자열 값

* 공식문서 한글판🔗에는 기계 번역이라, 'property type'의 'BINARY'를 '이진'이라고 번역해버렸다. 게다가 이 기계 번역을 그대로 갖다 쓰는 블로그도 존재했다. 부디 포스팅할 때에 검증을 해보자.

 


3. 레지스트리 수정

$Registry_path 		# 레지스트리 경로
$Registry_Name 		# 레지스트리 이름
$Value			# 레지스트리 값
    
Set-ItemProperty `
	-Path $Registry_path `
	-Name $Registry_Name `
	-Value $Value

레지스트리의 경로, 이름, 값을 입력하면 된다.

만약 레지스트리가 없다면, 해당 레지스트리를 생성한다. 

 

레지스트리 이름 변경은 다음과 같다

$registry_path 		# 레지스트리 경로
$registry_name 		# 레지스트리 옛날 이름
$registry_new_name	# 레지스트리 새로운 이름

Rename-ItemProperty `
	-Path $registry_path `
	-Name $registry_name `
	-NewName $registry_new_name

 


4. 레지스트리 삭제

$Registry_path 	# 레지스트리 경로
$Registry_Name	# 레지스트리 이름

Remove-ItemProperty `
	-Path $Registry_path `
	-Name $Registry_Name

위 명령어를 입력하면, 레지스트리가 삭제된다.

경로와 이름을 잘 입력하자.

만약 해당 경로 또는 경로의 레지스트리가 없다면, 경로에 없다는 오류를 보여준다.

 

 

 

이로서 PowerShell에서 레지스트리 값을 수정하는 방법을 학습했다.

앞으로 작성하는 포스팅에는 레지스트리의 경로, 이름, 타입, 값만 입력할 것이다.

물론, 여기 포스팅을 참조할 계획이다.

 

 

 


(참고 자료)

Working with Registry Entries - https://docs.microsoft.com/en-us/powershell/scripting/samples/working-with-registry-entries?view=powershell-7.2​

 

 

 

 

 

 

728x90
반응형

댓글