Author Posts

August 14, 2015 at 1:05 am

Hello community,
I am searching the most efficient way to work with registry, to clean up some keys (subkeys specifically).
How can I achieve best results? Working with Remove-Item cmdlet with a registry path? Or work with WMI ?

Thank you in advance...

August 14, 2015 at 5:07 am

That really depends on how you intend to execute this change on the systems. Does it need to work remotely? If I was removing a lot of keys the easiest method would probably using regedit.exe, export the keys, edit the .REG file and place the minus sign ( – ) next to anything you want removed and then run "regedit /s removestuff.reg" on the systems. How do you intend to actually execute this update?

August 14, 2015 at 5:09 am

Powershell makes it very easy to remove reg keys from the registry and it fast. I would make a backup of the key, just in case.
EX: remove-item hklm:\software\mycompany\OldApp

August 14, 2015 at 5:19 am

Thank you for the replies.
First of all I want to work with Registry through PowerShell, that's why I posted my question here.
I realize that it is very significant to firstly export all the registry to a file (backup) an then do some stuff.
After this I don't need to work remotely.
Is the best choice to use remove-item cmdlet for my needs? Or is there any other way to work with WMI?

August 14, 2015 at 7:30 am

The answer to your question is, "It Depends". You can definitely do the work through WMI with PowerShell, You can also do the work with regedit.exe, reg.exe, remote-item, etc., etc., etc. through PowerShell. The best choice will depend on requirements and skill set. If this is a one time use scenario and just need a solution, that's easy to just knock out, regedit.exe or reg.exe may be the best choice. If you need to hit remote machine, but don't know how to use WMI, or remove-item, reg.exe may be the best choice. If you are well versed in WMI and need something that is repeatable, that may be your best choice. If your choice requires the best performance, then you will need to do some performance testing with the different options to see which process is best for your environment. measure-command is available in PowerShell to help you do that performance testing.

August 14, 2015 at 9:59 am

Thank you all!!