The Windows registry is a database that stores configuration settings and options for the operating system and installed programs. In some cases, you may need to access the registry through PowerShell to get, delete, or change registry keys. Here’s how you can do it:
Getting registry keys
To get a registry key through PowerShell, you can use the Get-ItemProperty
cmdlet. This cmdlet allows you to retrieve the values of a registry key, as well as its subkeys and values.
For example, to get the “Path” value of the “Environment” key in the “HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager” hive, you can use the following command:
Get-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\Session Manager" -Name Path
This will display the value of the “Path” key, as well as its data type and value. You can also use the -Recurse
parameter to get all the subkeys and values of the key:
Get-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\Session Manager" -Name . -Recurse
Deleting registry keys
To delete a registry key through PowerShell, you can use the Remove-Item
cmdlet. This cmdlet allows you to delete a key, as well as its subkeys and values.
For example, to delete the “TestKey” key and all its subkeys and values in the “HKEY_CURRENT_USER\Software” hive, you can use the following command:
Remove-Item -Path "HKCU:\Software\TestKey" -Recurse
This will delete the “TestKey” key and all its subkeys and values.
Changing registry keys
To change a registry key through PowerShell, you can use the Set-ItemProperty
cmdlet. This cmdlet allows you to change the value of a key, as well as its data type.
For example, to change the “Path” value of the “Environment” key in the “HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager” hive to a new value, you can use the following command:
Set-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\Session Manager" -Name Path -Value "C:\Temp"
This will change the value of the “Path” key to “C:\Temp.” You can also use the -Type
parameter to specify the data type of the value:
Set-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\Session Manager" -Name Path -Value "C:\Temp" -Type String
We looked at how to get, delete, and change registry keys through PowerShell. Whether you need to retrieve the values of a key, delete a key and its subkeys, or change the value of a key, these commands should help you achieve your goals.