Always make backups where applicable.
Always verify instructions fit your need.
Create a WMI filter to only apply the GPO to the PDC.
NOTE: As the PDC role can be transferred between domain controllers these settings are filtered to apply only to the current PDC.
Run the Group Policy Management Console (GPMC.msc)
Select the WMI Filters section and create a new WMI filter with name Only PDC
Use the following WMI query:
For name space >>> root\CIMv2
For Query >>> Select * from Win32_ComputerSystem where DomainRole = 5
Create/Configure a new GPO.
Create a new GPO at the top of the domain and name it "C - PDC External NTP Sync"
At the bottom of the GPO change WMI Filtering to: Only PDC
Right Click > Edit
Follow the steps below to do the following:
Allow inbound NTP requests
Configure NTP Settings
Disable VM - Host time sync
Set w32time to always start
Computer Configuration > Policies > Windows Settings > Security Settings > Windows Defender Firewall… > … > Inbound Rules
Right Click > New Rule
Port
UDP: 123
Allow the connection
All (Domain, Private, and Public)
Name: NTP_Server_123UDP
Description: Allow Inbound Connections to NTP Server
Computer Configuration > Policies > Administrative Templates > System > Windows Time Service > Time Providers.
Configure Windows NTP Client: Enabled
NtpServer: 0.us.pool.ntp.org,0x8 1.us.pool.ntp.org,0x8 2.us.pool.ntp.org,0x8 3.us.pool.ntp.org,0x8
Type: NTP
CrossSiteSyncFlags: 2
ResolvePeerBackoffMinutes: 15
Resolve Peer BAckoffMaxTimes: 7
SpecilalPoolInterval: 3600
EventLogFlags: 0
Enable Windows NTP Client: Enabled
Enable Windows NTP Server: Enabled
Computer Configuration > Preferences > Windows Settings > Registry
Right Click > New > Registry Item
Hive: HKEY_LOCAL_MACHINE
Key Path: SYSTEM\CurrentControlSet\Services\w32time\TimeProviders\VMICTimeProvider
Value: Enabled
Value type: REG_DWORD
Value data: 00000000
Base: Hexadecimal
NOTE: This is done to disable time synchronization between Virtual Machine and Host Machine when applicable.
Computer Configuration > Preferences > Control Panel Settings > Services
Right Click > New > Service
Startup: Automatic
Service Name: w32time
Verify the settings are applied to the PDC
gpupdate /force
Via CMD as Admin
w32tm /query /configuration
The servers configurated above should be listed after: "[TimeProviders] > NTPClient (Local) > NtpServer "
To verify the time is correct or in the process of synchronizing, via CMD:
W32tm /query /stripchart:0.us.pool.ntp.org
Check Windows Advanced Firewall to see if the Inbound rule is listed.
Verify NTP connection is possible
From another computer or server:
w32tm /stripchart /computer:<PDC FQDN>
net stop w32time
w32tm /config /syncfromflags:manual /manualpeerlist:"<<PDC Hostname or IP>>,0x8 0.us.pool.ntp.org,0x2"
net start w32time
w32tm /config /update
W32tm /resync /force /nowait
Create a WMI filter to only apply the GPO to the Other Server.
Run the Group Policy Management Console (GPMC.msc)
Select the WMI Filters section and create a new WMI filter with name "Only <Server>"
Use the following WMI query:
For name space >>> root\CIMv2
For Query >>> Select * FROM Win32_ComputerSystem WHERE Name LIKE "SERVER-02" <Replace SERVER-02 with the name of the server>
Follow all of the above instructions making the following changes:
Set the WMI filter to Only <Server>
Set the name of the GPO to "C - <Server> External NTP Sync"
Verify NTP connection is possible
From another computer or server:
w32tm /stripchart /computer:<Server IP>
# Do not use the hostname as DNS servers may not have it registered properly or at all if it is not domain joined.
For other devices connecting to this server, set the NTP server to the server IP
Open the LOCAL Group Policy Editor Console for the server:
Follow instructions 5 & 6 under "Primary Domain Controllers > Create/Configure a New GPO"
Use local Group Policy editor.
Open Registry Editor as admin.
Navigate to the key: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w32time\TimeProviders\VMICTimeProvider
If the Entry "Enabled" exists, set it to "0" (zero)
If it does not exist, create a new "DWORD"
Value Name: Enabled
Value data: "0" (zero)
Close the Registry Editor window.
Open Services.msc
Right Click the service "Windows Time" and click properties
Verify the service name is W32Time
Set startup type: Automatic
Recovery Tab:
Set all options to: Restart the Service
OK
Close the services window.
Verify NTP connection is possible
From another computer or server:
w32tm /stripchart /computer:<Server IP>
Do not use the hostname as DNS servers may not have it registered properly or at all if it is not domain joined.