레지스트리 공급자

업데이트 날짜: 2014년 5월

적용 대상: Windows PowerShell 4.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와 같은 지원되지 않는 레지스트리 데이터 형식을 나타냅니다.

지원되는 cmdlet:

See Also

Other Resources

about_Providers