How to Set Up Windows Server 2019 Group Policy Preferences
Group Policy Preferences (GPP) extend Group Policy beyond traditional settings by allowing administrators to configure and distribute settings that users can change — unlike enforced policy settings. GPP supports drive mappings, printer connections, scheduled tasks, registry settings, environment variables, shortcut creation, file and folder management, and local user and group configurations. This guide covers the major Group Policy Preference categories and how to configure them on Windows Server 2019.
Understanding GPP vs. Traditional GPO Settings
The key difference between GPP items and standard GPO settings is that GPP items are “preferences” — they set an initial value that users can later change. Enforced GPO settings are reapplied at every policy refresh interval, effectively locking the setting. GPP items support targeting through Item-Level Targeting (ILT), which applies settings based on conditions such as OS version, IP range, security group membership, WMI query results, or environment variables. This makes GPP highly flexible for per-user or per-computer configurations without requiring multiple GPOs.
Accessing Group Policy Preferences in GPMC
Open the Group Policy Management Console, create or edit a GPO, and navigate to either User Configuration or Computer Configuration. Preferences are located under:
User Configuration > Preferences > Windows Settings
User Configuration > Preferences > Control Panel Settings
Computer Configuration > Preferences > Windows Settings
Computer Configuration > Preferences > Control Panel Settings
Install the Group Policy Management Console on Windows Server 2019:
Install-WindowsFeature GPMC -IncludeManagementTools
Configuring Drive Mappings
Drive mappings under User Configuration > Preferences > Windows Settings > Drive Maps allow you to map network shares to drive letters for users. Unlike logon scripts, GPP drive maps are managed centrally and support item-level targeting. Create a GPP drive mapping using PowerShell via the GroupPolicy module:
$gpo = Get-GPO -Name "User Drive Mappings"
$gpoPath = "\$env:LOGONSERVERSYSVOL$env:USERDNSDOMAINPolicies{$($gpo.Id)}UserPreferencesDrives"
New-Item -ItemType Directory -Path $gpoPath -Force
GPP XML for a drive mapping. Save this as Drives.xml in the Drives preferences path:
Configuring Printers via GPP
Deploy shared printers to users based on their OU location or security group using GPP Printers under User Configuration > Preferences > Control Panel Settings > Printers. Create a Printers.xml preference file:
Configuring Registry Settings via GPP
GPP Registry allows you to deploy, update, or delete registry values across computers. This is useful for configuring applications that store settings in the registry but are not GPO-aware. Create a registry preference that sets a software configuration value:
Configuring Local Users and Groups via GPP
The Local Users and Groups preference allows you to manage local group memberships centrally. A common use case is adding domain security groups to the local Administrators or Remote Desktop Users group on specific machines. Under Computer Configuration > Preferences > Control Panel Settings > Local Users and Groups, create a group preference:
Using Item-Level Targeting
Item-Level Targeting allows GPP items to apply only when specific conditions are met. Common targeting conditions include:
# Target by security group membership:
# Filters > New Targeting Item > Security Group > CONTOSOFinance-Staff
# Target by OS version (Windows 10 or Server 2019 only):
# Filters > New Targeting Item > Operating System > Version = 10.0.17763
# Target by IP address range:
# Filters > New Targeting Item > IP Address Range > 10.20.0.0 - 10.20.255.255
# Target by environment variable:
# Filters > New Targeting Item > Environment Variable > USERDOMAIN equals CONTOSO
Troubleshooting GPP Application
Verify that GPP items are being processed correctly by examining the Group Policy operational event log:
Get-WinEvent -LogName "Microsoft-Windows-GroupPolicy/Operational" -MaxEvents 50 |
Where-Object {$_.Message -like "*Preferences*"} |
Format-List TimeCreated, Id, Message
Run gpresult to verify which GPP items were applied to a user/computer:
gpresult /h C:GPPReport.html /f
gpresult /r /scope user
gpresult /r /scope computer
Group Policy Preferences on Windows Server 2019 provide a powerful and flexible mechanism for distributing configuration settings without requiring logon scripts or manual intervention. Combining GPP with Item-Level Targeting allows you to deliver highly granular configurations to specific users, groups, or machines while maintaining centralized management through the Group Policy infrastructure.