레지스트리 공급자
업데이트 날짜: 2014년 10월
적용 대상: Windows PowerShell 4.0, Windows PowerShell 5.0
공급자 이름
레지스트리
드라이브
HKLM:, HKCU:
간단한 설명
Windows PowerShell에서 레지스트리 키, 항목 및 값에 액세스할 수 있도록 합니다.
자세한 설명
Windows PowerShell 레지스트리 공급자를 통해 Windows PowerShell에서 레지스트리 키, 항목 및 값을 가져오고 추가, 변경 및 삭제할 수 있습니다.
레지스트리 키는 Microsoft.Win32.RegistryKey 클래스의 인스턴스로 표시되고, 레지스트리 항목은 PSCustomObject 클래스의 인스턴스로 표시됩니다.
레지스트리 공급자를 통해 레지스트리 키 및 하위 키로 구성된 계층 구조 네임스페이스에 액세스할 수 있습니다. 레지스트리 항목 및 값은 이러한 계층 구조의 구성 요소가 아니라 각 키의 속성입니다.
레지스트리 공급자는 Invoke-Item cmdlet을 제외하고 Item 명사(Item cmdlet)을 포함하는 모든 cmdlet(예: Get-Item, Copy-Item, Rename-Item을 지원합니다. Item cmdlet은 레지스트리 키 및 하위 키로 작업할 때 사용합니다.
레지스트리 공급자는 명사 ItemProperty가 포함된 cmdlet(ItemProperty cmdlet)도 지원합니다. 레지스트리 항목으로 작업할 때 ItemProperty cmdlet을 사용합니다. 명사 Content가 포함된 cmdlet(Content cmdlet)은 레지스트리 공급자와 함께 사용할 수 없습니다.
각 레지스트리 키는 보안 설명자에 의해 보호됩니다. Get-Acl을 사용하여 키의 보안 설명자를 볼 수 있습니다.
기능
ShouldProcess, UseTransactions
예제
레지스트리 탐색
-------------------------- 예제 1 --------------------------
이 명령은 현재 위치를 HKEY_LOCAL_MACHINE\Software 레지스트리 키로 설정합니다.
set-location hklm:\software
-------------------------- 예제 2 --------------------------
이 명령은 현재 위치를 나타내는 개체를 가져옵니다.
get-location
레지스트리 키 관리
-------------------------- 예제 1 --------------------------
이 명령은 HKEY_LOCAL_MACHINE\Software 레지스트리 키의 바로 아래에 있는 하위 키를 가져옵니다.
get-childitem -path hklm:\software
-------------------------- 예제 2 --------------------------
이 명령은 HKCU:\Environment 하위 키 아래에 TestNew 하위 키를 만듭니다.
new-item -path hkcu:\Environment\TestNew
-------------------------- 예제 3 --------------------------
이 명령은 HKEY_CURRENT_USER\Environment 키의 TestNew 하위 키를 삭제합니다.
remove-item -path hkcu:\Environment\TestNew
-------------------------- 예제 4 --------------------------
이 명령은 TestNew 키를 TestCopy 하위 키에 복사합니다.
copy-item -path hkcu:\Environment\TestNew hkcu:\Environment\TestNew\TestCopy
-------------------------- 예제 5 --------------------------
이 명령은 HKEY_LOCAL_MACHINE\Software 레지스트리 키의 모든 하위 키를 가져옵니다.
get-childitem -path hklm:\Software -recurse
-------------------------- 예제 6 --------------------------
이 명령은 HKEY_CURRENT_USER\Environment\testnewcopy 레지스트리 키 및 해당 하위 키와 해당 레지스트리 항목을 HKEY_CURRENT_USER\Environment\testnew 키로 이동합니다.
move-item -path hkcu:\environment\testnewcopy -destination hkcu:\environment\testnew
-------------------------- 예제 7 --------------------------
이 명령은 HKEY_CURRENT_USER\Environment\testnew 레지스트리 키의 이름을 HKEY_CURRENT_USER\Environment\test로 바꿉니다.
rename-item -path hkcu:\environment\testnew\ -newname test
-------------------------- 예제 8 --------------------------
이 명령은 지정된 레지스트리 키의 보안 설명자를 가져옵니다.
get-acl -path hkcu:\environment\testnew | format-list -property *
레지스트리 항목 관리
-------------------------- 예제 1 --------------------------
이 명령은 HKEY_CURRENT_USER\Environment 레지스트리 키의 레지스트리 항목을 가져옵니다.
get-itemproperty -path hkcu:\Environment
이 명령은 데이터가 포함된 경우에만 Default 레지스트리 항목을 가져옵니다.
-------------------------- 예제 2 --------------------------
이 명령은 HKEY_CURRENT_USER\Environment 키의 Temp 레지스트리 항목을 가져옵니다.
get-itemproperty -path hkcu:\Environment -name Temp
-------------------------- 예제 3 --------------------------
이 명령은 HKEY_CURRENT_USER\Environment 키에 PSTest 레지스트리 항목을 만들고 해당 값을 1로 설정합니다.
new-itemproperty -path hkcu:\environment -name PSTest -value 1 -propertyType dword
-------------------------- 예제 4 --------------------------
이 명령은 HKEY_CURRENT_USER\Environment 키의 PSTest 레지스트리 항목의 값을 "Start"로 변경하고 해당 데이터 형식을 REG_SZ (string)로 변경합니다.
set-itemproperty -path hkcu:\environment -name PSTest -value Start -type string
-------------------------- 예제 5 --------------------------
이 명령은 HKEY_CURRENT_USER\Environment 키의 PSTest 레지스트리 항목 이름을 PSTestNew로 바꿉니다.
rename-itemproperty -path hkcu:\environment -name PSTest
-newname PSTestNew
-------------------------- 예제 6 --------------------------
이 명령은 HKEY_CURRENT_USER\Environment 키의 PSTestNew 레지스트리 항목을 HKEY_CURRENT_USER\Environment\testnewcopy 키에 복사합니다.
copy-itemproperty -path hkcu:\environment -destination hkcu:\environment\testnewcopy -name pstestnew
-------------------------- 예제 7 --------------------------
이 명령은 HKEY_CURRENT_USER\environment\testnewcopy 키의 pstestnew 레지스트리 항목을 HKEY_CURRENT_USER\environment\testnew 키로 이동합니다.
move-itemproperty -path hkcu:\environment\testnewcopy -destination hkcu:\environment\testnew -name pstestnew
-------------------------- 예제 8 --------------------------
이 명령은 HKEY_CURRENT_USER\Environment\testnew 키에서 pstestnew 레지스트리 항목의 값을 지웁니다.
clear-itemproperty -path hkcu:\environment\testnew -name pstestnew
Clear-Item cmdlet을 사용하여 하위 키의 기본 레지스트리 항목 값을 지울 수 있습니다. 예를 들어 다음 명령은 HKEY_CURRENT_USER\Environment\testnew 레지스트리 키의 기본 항목 값을 지웁니다. clear-item -path hkcu:\environment\testnew
-------------------------- 예제 9 --------------------------
이 명령은 HKEY_CURRENT_USER\Environment\testnew 레지스트리 키에서 pstestnew 레지스트리 항목을 삭제합니다.
remove-itemproperty -path hkcu:\environment\testnew -name pstestnew
-------------------------- 예제 10 --------------------------
이 명령은 HKEY_CURRENT_USER\Environment\testnew 키의 기본 레지스트리 항목 값을 "default value"로 변경합니다.
set-itemproperty -path hkcu:\environment\testnew -name "(default)" -value "default value"
Set-Item cmdlet을 사용하여 레지스트리 키의 기본값을 변경할 수도 있습니다. 예를 들어 다음 명령은 testnew 키의 기본값을 업데이트합니다. set-item -path hkcu:\environment\testnew -value "다른 기본값"
동적 매개 변수
동적 매개 변수는 Windows PowerShell 공급자가 추가하고 이 공급자가 사용할 수 있는 드라이브에서 cmdlet을 사용하는 경우에만 사용할 수 있는 cmdlet 매개 변수입니다.
<Microsoft.Win32.RegistryValueKind>를 입력합니다.
레지스트리 값의 데이터 형식을 설정하거나 변경합니다. 기본값은 String (REG_SZ)입니다.
이 매개 변수는 Set-ItemProperty cmdlet에서 제대로 작동합니다. 또한 레지스트리 드라이브의 Set-Item cmdlet에도 사용할 수 있지만 효과는 없습니다.
값 | 설명 |
---|---|
문자열 |
null로 끝나는 문자열을 지정합니다. REG_SZ와 같습니다. |
ExpandString |
값이 검색될 때 확장되지 않는 환경 변수에 대한 확장되지 않는 참조가 포함된 null로 끝나는 문자열을 지정합니다. REG_EXPAND_SZ와 같습니다. |
이진 |
임의의 형식으로 된 이진 데이터를 지정합니다. REG_BINARY와 같습니다. |
Dword |
32비트 이진수를 지정합니다. REG_DWORD와 같습니다. |
MultiString |
두 null 문자로 끝나는 null로 끝나는 문자열의 배열을 지정합니다. REG_MULTI_SZ와 같습니다. |
Qword |
64비트 이진수를 지정합니다. REG_QWORD와 같습니다. |
Unknown |
REG_RESOURCE_LIST와 같은 지원되지 않는 레지스트리 데이터 형식을 나타냅니다. |