In the domain environment, it’s not always possible to use Group Policy (GPO) to manage some of the Windows settings and applications’ settings. It’s a fact that you can apply some settings only through the system registry. In an Active Directory domain, you can centralized manage registry keys on domain computers through a GPO. In this article, we will show you how to use Group Policy to manage, add, modify, import, and delete registry keys across a domain.
Windows Server 2008 introduced a special Group Policy extension (Group Policy Preferences — GPP). It allows you to manage registry keys and parameters through the Group Policy. GPP allows you to add, remove, or modify registry parameters, values, and keys on domain-joined computers. Let’s review these possibilities.
Note. Previously, domain administrators had to create their own administrative GPO templates (.adm/.admx) or .bat Logon scripts to manage registry settings on domain computers. Also, saved *.reg files were often used, which had to be imported to the users’ computers using the reg import or Regedit.exe /s import.reg commands).
How to Add/Set Registry Key via GPO?
Let’s say we need to disable automatic drivers updating on domain computers in a particular OU. We have to modify SearchOrderConfig key in the registry key HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\DriverSearching
There are three options for selecting the registry key on the target PCs:
- With the built-in GPP registry browser (wizard);
- Collection Item — creates and organizes registry items in a folder. Useful if you need to add a group of registry keys;
- Manually, by specifying the registry key and the parameter.
Lets’ try to use GPO Registry Wizard to set the registry parameter value:
- Open the Group Policy Management Console (gpmc.msc);
- Create a new (or edit an existing) GPO, and link it to the appropriate Active Directory Organizational Unit. After that, switch it to the GPO Edit mode;
- Expand the following GPO section: Computer (or User) Configuration > Preferences > Windows Settings > Registry. Select in the context menu: New > Registry Wizard;
- Registry Wizard allows you to browse the registry on a local computer. You can connect to the registry on the remote computer, and select the existing registry key and parameter;
- Specify the remote computer name (or an IP address) to connect. Use the Registry Browser tree to locate and select an existing registry key/parameter;
- In this example, we want to add only one registry item to our GPP — REG_DWORD parameter named SearchOrderConfig;
- This parameter with the full reg path and value will be imported into the GPO editor console. You can change its value and the desired action. To set a reg key, use the Update option (look below);
- This completes the registry policy setting. The next time Group Policy is updated on computers (or after running the gpupdate command), the specified registry settings will be applied on all computers in the OU.
You can also type the full registry key path and a parameter name manually:
- Select New > Registry Item;
- In the following fields (Hive, Key path, Value type, Value data) you have to specify the registry hive (HKLM, HKCU, etc.); registry key; parameter name, type, and value;
Note. You can use the following Hive names: HKEY_CLASSES_ROOT (HKEY_LOCAL_MACHINE\Software\Classes), HKEY_CURRENT_CONFIG (HKEY_LOCAL_MACHINE\System\CurrentControlSet\Hardware Profiles\Current), HKEY_LOCAL_MACHINE, HKEY_CURRENT_USER (HKEY_USERS.Default will be used if you’ll set HKCU registry key using Computer Configuration Policy);
- As a default, set the policy option to the Update mode.
There are 4 types of operation with the registry items:
- Create — creates a registry parameter. If the parameter already exists, the value does not change;
- Update (default) — if the parameter already exists, its value will update by the specified in the GPP. If not, a parameter with the specified value will be created;
- Replace — if the registry item already exists, deletes and recreates registry item (rarely used);
- Delete — removes a registry key and all of its values and subkeys.
There are many useful options on the Common tab:
- Run in logged-on user’s security context — the registry parameter is creating in the context of the current user. If you check this option, the parameter will be created with the current user permissions. If the user doesn’t have local admin permissions, the policy will be applied only to the HKEY_CURRENT_USER hive. But not to the HKEY_LOCAL_MACHINE;
- Remove this item when it is no longer applied — if you unlink GPO from the AD container, the changed registry settings will return to their initial state;
- Apply once and do not reapply – apply the policy for each computer only once;
- Item-level targeting — can be used to target registry settings via GPP based on computer settings, and/or user properties at a granular level.
The final report with policy settings in the GPMC console looks like this:
Note. In Windows XP and Windows Server 2003, the GPP section is absent. To add it to the OS, you have to install the KB943729 update (client-side extensions for Group Policy).
How to Delete Registry Key via GP Preferences?
You can also use GP Preferences to remove a specific key or registry entry on computers in a domain.
For example, you want to delete a certain parameter in the registry key HKEY_CURRENT_USER.
- Create a new registry GPP entry in the section User Configuration > Preferences > Windows Settings > Registry;
- Use the Registry Browser to select a parameter or key;
- In the GPO console, expand the key branch. Open the parameter properties, and change the Action to Delete;
- Save the changes;
- Now, after updating the group policy settings on clients, the specified parameter will be deleted from the user’s hive.
Tip. If you receive Network Path not found error when viewing the registry of a remote computer using Registry Browse, check if the specified computer is accessible over the network. Also, check if the Remote Registry service is running. If not, use the Services console (services.msc) to start the service.