ColorConsole [Version 1.7.1000] PowerShell 2.0-Export
Microsoft Windows [Version 6.1.7600]
Copyright (c) 2009 Microsoft Corporation.
C:\Windows-7>Powershell get-help Registry -full
PROVIDER NAME
Registry
DRIVES
HKLM:, HKCU:
# SYNOPSIS
Provides access to the system
registry keys and values from Windows PowerShell.
# DESCRIPTION
The Windows PowerShell
Registry provider lets you get, add, change, clear, and delete
registry keys and values in Windows PowerShell.
Registry keys are represented as instances of the Microsoft.Win32.RegistryKey class.
Registry values are represented as instances of the PSCustomObject class.
The
Registry provider lets you access a hierarchical namespace that consists of
registry keys and subkeys.
Registry values and data are not components of that hierarchy. Instead, they are properties of each of the keys.
The
Registry provider supports all the cmdlets that contain the Item noun
(the Item cmdlets
), such as Get-Item, Copy-Item, and Rename Item. Use the Item cmdlets when you work with
registry keys and subkeys. The
Registry provider also supports the cmdlets that contain the ItemProperty noun
(the ItemProperty cmdlets
). Use the ItemProperty cmdlets when you work with
registry values and data. You cannot use the cmdlets that contain the Content noun
(the Content cmdlets
) with the
Registry provider.
Each
registry key is protected by a security descriptor. You can use
Get-Acl to view the security descriptor of a key.
CAPABILITIES
ShouldProcess
TASKS
TASK: Navigating the
Registry
# EXAMPLE 1
This command sets the current location to the HKEY_LOCAL_MACHINE\Software
registry key:
set-location hklm:\software
# EXAMPLE 2
This command displays the current location:
get-location
TASK: Managing
Registry Keys
# EXAMPLE 1
This command displays information about each immediate subkey of the HKEY_LOCAL_MACHINE\Software
registry key:
get-childitem -path hklm:\software
# EXAMPLE 2
This command creates the TestNew subkey under the HKCU:\Environment subkey:
new-item -path hkcu:\Environment\TestNew
# EXAMPLE 3
This command removes the TestNew subkey of the HKEY_CURRENT_USER\Environment key:
remove-item -path hkcu:\Environment\TestNew
# EXAMPLE 4
This command copies the TestNew key to the TestCopy subkey:
copy-item -path hkcu:\Environment\TestNew hkcu:\Environment\TestNew\TestCopy
# EXAMPLE 5
This command displays information about all the subkeys of the HKEY_LOCAL_MACHINE\Software
registry key:
get-childitem -path hklm:\Software -recurse
# EXAMPLE 6
This command moves the HKEY_CURRENT_USER\Environment\testnewcopy
registry key, its properties, and all its subkeys and their properties to HKEY_CURRENT_USER\Environment\testnew:
move-item -path hkcu:\environment\testnewcopy `
-destination hkcu:\environment\testnew
# EXAMPLE 7
This command renames the HKEY_CURRENT_USER\Environment\testnew
registry key to HKEY_CURRENT_USER\Environment\test:
rename-item -path hkcu:\environment\testnew\ -newname test
# EXAMPLE 8
This command displays the security descriptor for the specified
registry item:
get-acl -path hkcu:\environment\testnew |
format-list -property *
TASK: Managing
Registry Entries
# EXAMPLE 1
This command displays the value name and value data for each
registry entry in the HKEY_CURRENT_USER\Environment
registry key:
get-itemproperty -path hkcu:\Environment
The
Default registry entry is returned only if it has a value.
# EXAMPLE 2
This command displays the value name and value data for the Temp
registry entry in the HKEY_CURRENT_USER\Environment
registry key:
get-itemproperty -path hkcu:\Environment -name Temp
# EXAMPLE 3
This command creates the pstest
registry entry in the HKEY_CURRENT_USER key and sets its value to pstestvalue:
new-itemproperty -path hkcu:\environment -name "pstest" -value "pstestvalue"
# EXAMPLE 4
This command updates the value of the pstest
registry entry to updatedvalue in the HKEY_CURRENT_USER\Environment key:
set-itemproperty -path hkcu:\environment -name pstest
-value "updatedvalue"
# EXAMPLE 5
This command renames the value name of the pstest
registry entry to pstestnew in the HKEY_CURRENT_USER\Environment key:
rename-itemproperty -path hkcu:\environment -name pstest `
-newname pstestnew
# EXAMPLE 6
This command copies the pstestnew
registry entry from the HKEY_CURRENT_USER\Environment key to the HKEY_CURRENT_USER\Environment\testnewcopy key:
copy-itemproperty -path hkcu:\environment `
-destination hkcu:\environment\testnewcopy -name pstestnew
# EXAMPLE 7
The command moves the pstestnew
registry entry from the HKEY_CURRENT_USER\environment\testnewcopy key to the HKEY_CURRENT_USER\environment\testnew key:
move-itemproperty -path hkcu:\environment\testnewcopy '
-destination hkcu:\environment\testnew -name pstestnew
# EXAMPLE 8
This command clears the value of the pstestnew
registry entry in the HKEY_CURRENT_USER\Environment\testnew key:
clear-itemproperty -path hkcu:\environment\testnew -name pstestnew
You can use the
Clear-Item cmdlet to clear the value of the
default registry entry for a subkey. For example, the following command clears the value of the
default entry of the HKEY_CURRENT_USER\Environment\testnew
registry key:
clear-item -path hkcu:\environment\testnew
# EXAMPLE 9
This command removes the pstestnew
registry entry from the HKEY_CURRENT_USER\Environment\testnew
registry key:
remove-itemproperty -path hkcu:\environment\testnew `
-name pstestnew
-------------------------- EXAMPLE 10 --------------------------
This command updates the value of the
default registry entry in the HKEY_CURRENT_USER\Environment\testnew key to "
default value":
set-itemproperty -path hkcu:\environment\testnew `
-name "
(default
)" -value "
default value"
You can also update the
default value of a
registry key by using the
Set-Item cmdlet. For example, the following command updates the
default value of the testnew key:
set-item -path hkcu:\environment\testnew -value "another
default value"
DYNAMIC PARAMETERS
-Type <Microsoft.Win32.RegistryValueKind>
Specifies the data types to use when storing values in the registry, or identifies the data type of a value in the registry.
String
Specifies a null-terminated string. Equivalent to REG_SZ.
ExpandString
Specifies a null-terminated string that contains unexpanded references to
environment variables that are expanded when the value is retrieved. Equivalent to REG_EXPAND_SZ.
Binary
Specifies binary data in any form. Equivalent to REG_BINARY.
DWord
Specifies a 32-bit binary number. Equivalent to REG_DWORD.
MultiString
Specifies an array of null-terminated strings terminated by two null characters. Equivalent to REG_MULTI_SZ.
QWord
Specifies a 64-bit binary number. Equivalent to REG_QWORD.
Unknown
Indicates an unsupported
registry data type, such as REG_RESOURCE_LIST.
Cmdlets Supported:
Set-Item
# NOTES
RELATED LINKS
about_Providers
C:\Windows>powershell
get-help Variable -full