Tuesday, April 27, 2010

"Registry editing has been disabled by your administrator" Error

Error "Registry editing has been disabled by your administrator" when you open the Registry Editor in Windows Vista

When you attempt to start the Registry Editor (regedit.exe) in your Windows Vista system, you may receive the following message:

Registry editing has been disabled by your administrator



If the above error message is shown in a standalone system, then it may be a result of Malware infection. It is also possible that the DisableRegistryTools policy had been enabled by a third-party tweak program which you may be using. It's highly advisable to follow up with a complete system checkup for Virus and Malware, especially when you're unsure about the cause.

Note: If your system is connected to a domain, your network administrator may have enabled the DisableRegistryTools Policy setting. In that case, you'll need to contact the network administrator to relax this restriction, if need be.

Method 1 - Using Group Policy Editor
If you are using an edition of Windows Vista (Windows Vista Business, Enterprise and Ultimate editions) which includes the Group Policy Editor, follow these steps:

Click Start, type gpedit.msc in the Search box, and press ENTER
Go to the following branch:
User Configuration | Administrative Templates | System

Double-click Prevent access to registry editing tools
Set it as Not Configured

Important: If it's already set to Not Configured, set it to Enabled and click Apply. Then repeat the steps and revert the setting back to Not Configured. This removes the registry based policy if set already.



Method 2
This method should work in all editions of Windows Vista.

Copy the below code & paste in Notepad. Save the file on Desktop & name it reg_enable.vbs.



'Copyright © 2010 Cyber KGB. All rights reserved.
''Description: Resets the "Prevent access to registry editing tools"
' Policy in Windows Vista. If UAC is enabled, this script needs to
' be run from an elevated Command Prompt.
'Compatibility: This script was tested under Windows Vista only.

Option Explicit
Dim WshShell, strUserName, strDomain, strSID
Dim objWMIService, colItems, objItem, arrName, objAccount

Set WshShell = WScript.CreateObject("WScript.Shell")
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * From Win32_ComputerSystem")

For Each objItem in colItems
arrName = Split(objItem.UserName, "\")
strDomain = arrName(0)
strUserName = arrName(1)
Next

Set objAccount = objWMIService.Get _
("Win32_UserAccount.Name='" & strUserName & "',Domain='" & strDomain & "'")
strSID=objAccount.SID

If trim(strSID) <> "" then
WshShell.RegDelete ("HKEY_USERS\" & strSID & "\Software\Microsoft\Windows\CurrentVersion\Policies\System\DisableRegistryTools")
Msgbox "Completed!"
End if


Open an elevated command prompt. To do this, click Start, click
All Programs
, click Accessories, right-click Command Prompt, and then click Run as administrator. If you are prompted for an administrator password or for a confirmation, type the password, or click Allow.
Switch to your Desktop directory by typing the following command, and then pressing ENTER:


cd /d %userprofile%\desktop


Then, type the following command and press ENTER


wscript.exe reg_enable.vbs


Type EXIT to close the Command Prompt window.
If everything worked fine, the DisableRegistryTools policy should have been removed by now. See if you're able to launch Regedit.exe now

Note: If your system is connected to a domain, your network administrator may have enabled the DisableRegistryTools Policy setting. In that case, you'll need to contact the network administrator to relax this restriction, if need be.



~

No comments: