NTP-server

Windows NTP Server Configuration and Synchronization Guide


This guide details how to change the Network Time Protocol (NTP) server settings locally on a Windows machine (workstation or server) and force a time synchronization, using the command-line utility w32tm to ensure high reliability.

1. Public Regional NTP Server Reference

Using multiple, geographically relevant NTP servers provides redundancy and the most accurate time synchronization. The NTP Pool Project is the recommended public source.

  • 🌐 Website: https://www.ntppool.org/ (Refer here for specific country codes).
  • Best Practice: Always configure your system to use a list of multiple servers (e.g., four addresses) from the relevant pool.

Regional NTP Server Pools

Region/ContinentServer Names to Use (Enter as a space-separated list)
Global Fallback0.pool.ntp.org 1.pool.ntp.org 2.pool.ntp.org 3.pool.ntp.org
North America0.north-america.pool.ntp.org
1.north-america.pool.ntp.org
2.north-america.pool.ntp.org
3.north-america.pool.ntp.org
Europe0.europe.pool.ntp.org 1.europe.pool.ntp.org 2.europe.pool.ntp.org 3.europe.pool.ntp.org
Asia0.asia.pool.ntp.org
1.asia.pool.ntp.org
2.asia.pool.ntp.org
3.asia.pool.ntp.org
Specific Country<XX>.pool.ntp.org (Replace <XX> with your 2-letter country code, e.g., uk.pool.ntp.org for the United Kingdom).

2. Windows Command-Line Configuration (w32tm)

Use the built-in Windows Time service utility, w32tm, with Administrator privileges to configure and manage the NTP client.

Step 1: Configure New NTP Servers

This command sets a list of manual time peers, configures the client to sync from this manual list, and marks the peers as reliable.

ActionCommand Syntax
Configurew32tm /config /manualpeerlist:"<SERVER LIST>" /syncfromflags:MANUAL /reliable:yes /update

Example (Using UK Pool):

Bash

w32tm /config /manualpeerlist:"0.uk.pool.ntp.org 1.uk.pool.ntp.org 2.uk.pool.ntp.org 3.uk.pool.ntp.org" /syncfromflags:MANUAL /reliable:yes /update

Explanation of Flags:

  • /manualpeerlist:"...": Specifies the space-separated list of time servers.
  • /syncfromflags:MANUAL: Tells the Windows Time service to use the list of servers provided in the manualpeerlist.
  • /reliable:yes: Designates the time source(s) as reliable (especially important if this machine is a domain controller or a primary time source).
  • /update: Notifies the Windows Time service configuration has changed.

Step 2: Restart the Windows Time Service

Restarting the service is crucial for the new configuration to be loaded immediately.

Bash

net stop w32time
net start w32time

Step 3: Force Immediate Synchronization (Sync)

Use the /resync command to trigger an immediate time synchronization with the newly configured servers.

Bash

w32tm /resync

Step 4: Verification

Check the current time source and synchronization status to confirm the changes are active.

Bash

w32tm /query /status

Expected Output: Look for the Source field to confirm one of the servers you configured is being used.


3. Graphical User Interface (GUI) Method

This method is simpler but typically allows only one server to be configured at a time, limiting redundancy.

  1. Open the Run dialog (Windows Key + R) and type timedate.cpl, then press Enter.
  2. Click the Internet Time tab.
  3. Click Change settings…
  4. Ensure Synchronize with an Internet time server is checked.
  5. Enter one of the desired NTP server addresses (e.g., 0.pool.ntp.org) into the Server field.
  6. Click Update now to force a synchronization.
  7. Click OK twice to save and exit.