How to Configure NTP Server in Windows Server 2016 – Complete Guide
We don’t always have to set up the NTP, but we had an old domain where that we brought in a new primary domain controller. This new primary domain controller was not properly configured for NTP, so our time on the entire network was about 1 hour behind due to daylight savings time and also being out of sync with a real NTP server. We work in a highly restricted network, so we don’t have Internet available to all the servers.
Setting up and configuring an NTP (Network Time Protocol) server in Windows Server 2016 is essential for maintaining accurate time synchronization across your network. This guide provides step-by-step instructions for configuring NTP on both domain controllers and standalone Windows Server 2016 systems.
Whether you need to set up a new NTP server, change existing NTP settings, or troubleshoot time synchronization issues, these PowerShell commands will help you manage your Windows time service effectively.
Prerequisites for Configuring NTP Server on Windows Server 2016
Before configuring your NTP server, ensure you have:
Identifying the Domain Controller Role for NTP Configuration
In Active Directory environments, it’s important to identify which domain controller is responsible for time synchronization before making changes.
Step 1: Query Domain Controller Roles
Run this command to determine which server holds the PDC Emulator role (the default time authority in a domain):
netdom query fsmoThis command displays all FSMO roles, including the PDC Emulator that should be your primary time source.

Configuring NTP Server on Windows Server 2016 Domain Controller
For domain controllers with internet access, follow these steps to configure external NTP sources.
Step 2: Set External NTP Server Sources
w32tm /config /manualpeerlist:pool.ntp.org /syncfromflags:MANUALFor multiple NTP sources (recommended for redundancy):
w32tm /config /syncfromflags:manual /manualpeerlist:0.ca.pool.ntp.org,1.ca.pool.ntp.org,time3.google.com /reliable:yes /updateStep 3: Restart the Windows Time Service
Using PowerShell:
Stop-Service w32time
Start-Service w32timeAlternative command-line method:
net stop w32time && net start w32timeStep 4: Force Time Resynchronization
w32tm /resync

Configuring NTP for Air-Gapped Networks
For disconnected or air-gapped networks without internet access, you’ll need a different approach:
- Designate one server as the authoritative time source
- Configure other servers to sync from this source
- Consider using a hardware time source if high precision is required
On the designated primary time server:
w32tm /config /syncfromflags:domhier /reliable:yes /updateVerifying NTP Server Configuration
Step 5: Check NTP Status and Configuration
Verify your configuration with:
w32tm /query /status
This displays current synchronization status, source, and last sync time.
Troubleshooting Windows Time Service Issues
If you experience problems with the Windows Time service, try these steps:
Step 6: Reset the Windows Time Service
net stop w32time
w32tm /unregister
w32tm /register
net start w32timeThis completely resets the service by unregistering and re-registering it with the system.
Common Issues and Solutions
| Issue173_ac8f6d-03> | Possible Solution173_f1e72f-a4> | 
|---|---|
| Time drifting173_d47daa-45> | Check hardware clock or increase sync frequency173_2d15e8-8b> | 
| Failed synchronization173_8bafb9-e9> | Verify network connectivity to NTP sources173_05db22-2a> | 
| “The computer did not resync” error173_aad9ca-60> | Check firewall rules for UDP 123173_628577-d2> | 
| Inconsistent time across domain173_0bdef2-61> | Verify PDC Emulator is properly configured173_5125c5-d9> | 
Configuring NTP Clients in a Domain
For domain members (not the PDC Emulator), configure them to sync from the domain hierarchy:
w32tm /config /syncfromflags:domhier /reliable:yes /updateThis ensures all domain computers maintain consistent time by following the domain’s time hierarchy.
Changing NTP Server Settings
To change NTP server sources on an already configured system:
- Stop the Windows Time service
- Set the new NTP source
- Restart the service and force resynchronization
For example:
net stop w32time
w32tm /config /manualpeerlist:time.windows.com,0.pool.ntp.org /syncfromflags:MANUAL
net start w32time
w32tm /resync
NTP Command Reference Table
| Purpose173_e05abc-fa> | PowerShell/Command Line173_e63d38-e9> | Description173_2fe92e-b6> | 
|---|---|---|
| Query domain controller roles173_2b8fd2-c6> | netdom query fsmo173_bf7f71-3d> | Identifies which DC is in charge of time173_72f5e1-47> | 
| Set NTP server173_c57049-6c> | w32tm /config /manualpeerlist:pool.ntp.org /syncfromflags:MANUAL173_7f4a23-26> | Configures external NTP source173_9c494f-e4> | 
| Restart time service173_f213e5-9d> | Stop-Service w32time then Start-Service w32time173_5236f3-ee> | Applies configuration changes173_825bd9-46> | 
| One-line restart173_f17d4e-0d> | net stop w32time && net start w32time173_99491d-b1> | Quick restart of Windows Time service173_17978b-33> | 
| Resync time173_5173cb-93> | w32tm /resync173_479bfa-f4> | Forces time synchronization173_6ce171-b5> | 
| Check status173_a4ac7f-ab> | w32tm /query /status173_e7575d-6f> | Verify NTP configuration status173_90b8ec-7d> | 
| Reset time service173_1cc739-2c> | Multiple commands for unregistering/registering173_6ca8ab-f1> | Fixes Windows Time service issues173_3a3697-22> | 
| Configure client sync173_8061e0-0d> | w32tm /config /syncfromflags:domhier /reliable:yes /update173_132391-96> | Sets clients to sync from domain hierarchy173_7ee7ee-98> | 
Frequently Asked Questions
How do I check which NTP server my Windows Server 2016 is using?
You can check your current NTP configuration using w32tm /query /configuration in PowerShell.
How do I change the NTP server on my Windows Server 2016 domain controller?
Use w32tm /config /manualpeerlist:new.ntp.server /syncfromflags:MANUAL /reliable:yes /update followed by restarting the time service.
Why is my Windows Server 2016 time out of sync even with NTP configured?
The most common causes include firewall issues blocking UDP port 123, incorrect NTP hierarchy configuration, or hardware clock drift. Check your Windows Time service status and event logs.
Should I use internal or external NTP servers for my domain?
For most organizations, the primary domain controller should sync with reliable external NTP sources, while other domain members should sync from the domain hierarchy.
Conclusion
Proper NTP configuration is crucial for maintaining accurate time across your Windows Server environment. By following this guide, you can ensure your Windows Server 2016 systems stay properly synchronized, avoiding authentication issues and ensuring accurate timestamps for logs and transactions.
Remember to periodically verify your NTP configuration, especially after major system changes or if you notice time synchronization issues.
Need help with other Windows Server configurations? Check out our related guides:
Have questions about configuring NTP on Windows Server? Leave a comment below!



