It looks like someone, probably your local policy or spyware, has blocked run of registry editor by enabling the Prevent access to registry editing tools policy. When enabled it sets enables the DisableRegistryTools REG_DWORD parameter in HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System\ with value of 1.
Check this with your group policy editor by running gpedit.msc and navigating to User Configuration\Administrative Templates\System\ folder. Find the Prevent access to registry editing tools policy there and set it to disable.
Make sure Run only allowed Windows applications policy located in the same folder is not enabled. If so this will prevent you from running any programs not specified in the list.
Because this is just a registry key you can also use scripts like this one script taken from
this site
- Code: Select all
'Enable Registry Editing'
'© Veegertx - 4/7/2004
'This code may be freely distributed/modified
On Error Resume Next
'Prevents errors from values that don't exist
Set WshShell = WScript.CreateObject("WScript.Shell")
'Delete DisableRegistryTools registry values
WshShell.RegDelete "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System\DisableRegistryTools"
WshShell.RegDelete "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\DisableRegistryTools"
'display message
Message = "You should have access to Regedit now"
X = MsgBox(Message, vbOKOnly, "Done")
Set WshShell = Nothing
Set fso = Nothing
or
this one by
Doug Knox to unlock registry editor by disabling the shown parameter.
But I recommend you to manage this via GPOE because it's safe and you would always see what happens. Notice if you are in the domain and domain policy or the policy of that OU your group or account resides in has this policy enabled, it would be re-enabled next time when you will get refreshed policy from the domain controller. That's because domain policy takes precedence over local policy and OU policy in its turn takes precedence over domain policy.