Provides access to the system registry keys and values from Windows PowerShell. (Registry)
PROVIDER NAME Registry DRIVES HKLM:, HKCU:SYNOPSISProvides access to the system registry keys and values from Windows PowerShell.DESCRIPTIONThe 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 RegistryExamples
EXAMPLE 1This command sets the current location to the HKEY_LOCAL_MACHINE\Software registry key: set-location hklm:\softwareEXAMPLE 2This command displays the current location: get-location TASK: Managing Registry KeysEXAMPLE 1This command displays information about each immediate subkey of the HKEY_LOCAL_MACHINE\Software registry key: get-childitem -path hklm:\softwareEXAMPLE 2This command creates the TestNew subkey under the HKCU:\Environment subkey: new-item -path hkcu:\Environment\TestNewEXAMPLE 3This command removes the TestNew subkey of the HKEY_CURRENT_USER\Environment key: remove-item -path hkcu:\Environment\TestNewEXAMPLE 4This command copies the TestNew key to the TestCopy subkey: copy-item -path hkcu:\Environment\TestNew hkcu:\Environment\TestNew\TestCopyEXAMPLE 5This command displays information about all the subkeys of the HKEY_LOCAL_MACHINE\Software registry key: get-childitem -path hklm:\Software -recurseEXAMPLE 6This 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\testnewEXAMPLE 7This command renames the HKEY_CURRENT_USER\Environment\testnew registry key to HKEY_CURRENT_USER\Environment\test: rename-item -path hkcu:\environment\testnew\ -newname testEXAMPLE 8This command displays the security descriptor for the specified registry item: get-acl -path hkcu:\environment\testnew | format-list -property * TASK: Managing Registry EntriesEXAMPLE 1This 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 2This 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 TempEXAMPLE 3This 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 4This 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 5This 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 pstestnewEXAMPLE 6This 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 pstestnewEXAMPLE 7The 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 pstestnewEXAMPLE 8This 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\testnewEXAMPLE 9This 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-ItemNOTESRELATED LINKS about_Providers C:\Windows>powershell get-help Variable -full
Microsoft Windows [Version 10.0.19045.3693]
Copyright (c) 2023 Microsoft Corporation.
ColorConsole [Version 3.7.1000] PowerShell 2.0-Export