Problem :
I need to delete a key from a command line. So I wanted to use reg delete "the key to be deleted" /f
but I get ERROR: access is denied
.
From the same login session (the same user) I am able to delete the key without any troubles from regedit.exe that is not run as administrator.
I cannot use runas
command to execute reg that I believe would be to solution because in fact I want to use reg to delete registry entry for administrator profile so runas works again. More info in my other question Windows7 corrupted profile – prevention exists?
Solution :
Administrative commands need to run from an elevated command prompt. Standard command prompts in Windows Vista and newer don’t run with administrator rights even if the user is an administrator.
REG.exe opens the registry hive with “AllAccess” and in case ACLs do not give credentials to the registry hive the REG.exe is unable to delete it.
But when you try to delete the same hive with regedit, there is no problem. This is because RegEdit opens the registry with less required credential swithches.
Registry Key Security and Access Rights
If you know what to delete then the best option is to use regedit from command prompt:
regedit /s deleteHive.reg
Look more details from MS:
How to add, modify, or delete registry subkeys and values by using a .reg file