How to Set Up Windows Server 2019 Group Policy Central Store
The Group Policy Central Store is a centralized repository in SYSVOL that stores ADMX (Administrative Template) files for Group Policy. Without the Central Store, each management workstation uses its local PolicyDefinitions folder to read ADMX templates, which can cause inconsistencies when different workstations have different template versions. By creating the Central Store, all domain administrators access the same set of templates from SYSVOL, ensuring consistent policy editing across the organization. This guide covers creating, populating, and maintaining the Group Policy Central Store on Windows Server 2019.
Understanding ADMX and ADML Files
ADMX files are language-neutral XML files that define Group Policy settings. Each ADMX file corresponds to a product area (e.g., inetres.admx for Internet Explorer, WindowsDefender.admx for Windows Defender). ADML files are language-specific resource files that provide the display strings for ADMX settings. Both file types are required: ADMX files go in the PolicyDefinitions root, and ADML files go in language subfolders (e.g., en-US).
Creating the Central Store
The Central Store must be created on the SYSVOL of the PDC Emulator role holder, as SYSVOL replicates from there to all other DCs. Identify the PDC Emulator:
$pdcEmulator = (Get-ADDomain).PDCEmulator
Write-Output "PDC Emulator: $pdcEmulator"
Create the PolicyDefinitions directory structure in SYSVOL:
$centralStorePath = "\$pdcEmulatorSYSVOL$env:USERDNSDOMAINPoliciesPolicyDefinitions"
New-Item -ItemType Directory -Path $centralStorePath -Force
New-Item -ItemType Directory -Path "$centralStorePathen-US" -Force
Write-Output "Central Store created at: $centralStorePath"
Populating the Central Store with Windows Server 2019 Templates
Copy the built-in ADMX and ADML templates from a Windows Server 2019 installation to the Central Store. The templates are located in C:WindowsPolicyDefinitions on any Windows Server 2019 or Windows 10 1809 machine:
$localTemplates = "C:WindowsPolicyDefinitions"
$centralStorePath = "\$pdcEmulatorSYSVOL$env:USERDNSDOMAINPoliciesPolicyDefinitions"
# Copy all ADMX files
Copy-Item "$localTemplates*.admx" -Destination $centralStorePath -Force
Write-Output "Copied $(( Get-Item "$localTemplates*.admx").Count) ADMX files"
# Copy all language folders (en-US minimum, add others as needed)
$languages = @("en-US")
foreach ($lang in $languages) {
$dest = "$centralStorePath$lang"
New-Item -ItemType Directory -Path $dest -Force -ErrorAction SilentlyContinue
Copy-Item "$localTemplates$lang*.adml" -Destination $dest -Force
Write-Output "Copied $lang ADML files"
}
Verify the Central Store was populated correctly:
$admxCount = (Get-Item "$centralStorePath*.admx").Count
$admlCount = (Get-Item "$centralStorePathen-US*.adml").Count
Write-Output "Central Store: $admxCount ADMX files, $admlCount ADML files (en-US)"
Adding Third-Party ADMX Templates
Vendors provide ADMX templates for their products. Microsoft provides templates for Office, Edge, OneDrive, and Windows Update for Business. Download and add Microsoft 365 Apps ADMX templates:
$m365TemplatesPath = "C:Downloadsadmintemplates_x64_5356-1000_en-us"
Copy-Item "$m365TemplatesPathadmx*.admx" -Destination $centralStorePath -Force
Copy-Item "$m365TemplatesPathadmxen-us*.adml" -Destination "$centralStorePathen-US" -Force
Write-Output "Microsoft 365 ADMX templates added"
Add Microsoft Edge ADMX templates:
$edgeTemplatesPath = "C:DownloadsMicrosoftEdgePolicyTemplateswindowsadmx"
Copy-Item "$edgeTemplatesPath*.admx" -Destination $centralStorePath -Force
Copy-Item "$edgeTemplatesPathen-US*.adml" -Destination "$centralStorePathen-US" -Force
Write-Output "Microsoft Edge ADMX templates added"
Add the Windows Update for Business / Windows 10 compliance templates:
$winUpdateTemplatesPath = "C:DownloadsWindowsUpdateForBusinessTemplatesADMX"
Copy-Item "$winUpdateTemplatesPath*.admx" -Destination $centralStorePath -Force
Copy-Item "$winUpdateTemplatesPathen-US*.adml" -Destination "$centralStorePathen-US" -Force
Verifying Central Store is Active in GPMC
Once the Central Store is created, GPMC automatically uses it instead of local templates. Verify by opening GPMC, editing any GPO, and navigating to Computer Configuration > Policies > Administrative Templates. The title bar of the Administrative Templates node shows “Policy definitions (ADMX files) retrieved from the central store” when the Central Store is active.
To confirm via PowerShell:
$centralStorePath = "\$env:USERDNSDOMAINSYSVOL$env:USERDNSDOMAINPoliciesPolicyDefinitions"
if (Test-Path $centralStorePath) {
$admxFiles = Get-ChildItem "$centralStorePath*.admx"
Write-Output "Central Store ACTIVE. $($admxFiles.Count) ADMX files available."
} else {
Write-Output "Central Store NOT FOUND. Local templates in use."
}
Maintaining and Updating the Central Store
The Central Store must be updated when new Windows versions are deployed or when vendors release updated ADMX templates. Create an update script to synchronize templates from a reference Windows Server 2019 machine:
function Update-CentralStore {
param(
[string]$SourceServer = "WIN2019-REF.contoso.local",
[string]$Language = "en-US"
)
$pdcEmulator = (Get-ADDomain).PDCEmulator
$centralStorePath = "\$pdcEmulatorSYSVOL$env:USERDNSDOMAINPoliciesPolicyDefinitions"
$sourceTemplates = "\$SourceServerC$WindowsPolicyDefinitions"
# Compare and update ADMX files
$sourceFiles = Get-Item "$sourceTemplates*.admx"
$updated = 0
foreach ($src in $sourceFiles) {
$dest = Join-Path $centralStorePath $src.Name
if (!(Test-Path $dest) -or ((Get-Item $dest).LastWriteTime -lt $src.LastWriteTime)) {
Copy-Item $src.FullName -Destination $dest -Force
$updated++
}
}
# Update language files
Copy-Item "$sourceTemplates$Language*.adml" -Destination "$centralStorePath$Language" -Force
Write-Output "Updated $updated ADMX files. Language files synced."
}
Update-CentralStore -SourceServer "WIN2019-REF.contoso.local"
Backing Up the Central Store
Include the Central Store in your GPO backup procedures:
$backupPath = "C:GPOBackups$(Get-Date -Format yyyyMMdd)"
New-Item -ItemType Directory -Path $backupPath -Force
# Backup all GPOs
Backup-GPO -All -Path "$backupPathGPOs"
# Backup Central Store
Copy-Item "\$env:USERDNSDOMAINSYSVOL$env:USERDNSDOMAINPoliciesPolicyDefinitions" `
-Destination "$backupPathPolicyDefinitions" `
-Recurse -Force
Write-Output "GPOs and Central Store backed up to $backupPath"
The Group Policy Central Store is a foundational component of any well-managed Windows Server 2019 Active Directory environment. It eliminates template version inconsistencies between admin workstations, provides a single source of truth for available policy settings, and makes template management operationally simple. Once established, maintain the Central Store by updating it whenever a new OS version or product template is deployed in your environment.