Windows Time Service settings are not preserved during an in-place upgrade to Windows Server 2016 or Windows 10 Version 1607

Symptoms

When you do an in-place upgrade on the following operating systems upgrade paths, the Windows Time service does not preserve its configuration. Instead, it shows the default values for a workgroup server or workstation.



Upgrade fromUpgrade to
Windows Server 2012 or Windows Server 2012 R2Windows Server 2016
Windows 7, Windows 8, or Windows 8.1Windows 10 Version 1607

Affected roles

After the in-place upgrade is completed, the following roles may be affected.



Domain controllers

The domain controllers (DC) that hosts the PDC emulator role is the default authoritative time server for the domain. Typically, it is configured to sync with a highly accurate time source. All other DCs in the domain sync their time with the PDC.

After you do an in-place upgrade, the PDC loses its connection to the external time server that it is configured to sync with. It also no longer announces that it is a time server.

Also, all other DCs in the domain no longer announce they are time servers, and they no longer use the domain hierarchy to sync their time. Therefore, their time setting may no longer be in sync with the setting for their peers, and domain members can no longer sync their time.



You may notice the following warning in the DCDIAG output:
Warning: <DCNAME> is not advertising as a time server 
You may also notice that the DC does not respond to NTP client requests. This includes failures that occur when you test the NTP server availability by using the w32tm.exe /stripchart tool. For example, the text output may resemble the following output:
c:>w32tm /stripchart /computer:<DCName> Tracking <DCName> [10.1.1.100:123]. The current time is 10/28/2016 9:00:00 AM. 09:00:00 error: 0x800705B4: 

Domain Members

Domain member servers and computers that are upgraded are no longer configured to use the domain hierarchy to synchronize their time. Instead, they will sync their time with the "time.windows.com" website.



Authoritative Time Server

Windows computers that are manually configured as an Authoritative Time Server lose their configuration. Therefore, devices that are configured to use these computers to synchronize their time may not sync.

You may also notice that the Authoritative NTP server does not respond to NTP client requests. This includes failures that occur when you test the NTP server availability by using the w32tm.exe /stripchart tool. For example, the text output may resemble the following output:

c:>w32tm /stripchart /computer:<myAuthoritativeTimeServer> Tracking <myAuthoritativeTimeServer> [10.1.1.100:123]. The current time is 10/28/2016 9:00:00 AM. 09:00:00 error: 0x800705B4: 
Note This issue should not occur when you do an in-place upgrade of the following operating systems:

  • Windows 10 version 1507 through Windows 10 version 1511
  • Windows 10 version 1511 through Windows 10 version 1607
  • Windows Server 2016 Technical Preview 5 (TP5) through Windows Server 2016 (RTM)

Cause

This is a known issue in the Windows upgrade paths that are listed in the "Symptoms" section. This issue occurs because the registry values for the Windows Time service are not preserved during an upgrade. Therefore, all Windows Time service values are reverted to the default state of a Workgroup Member Server or a stand-alone computer.

Workaround

Important This section, method, or task contains steps that tell you how to modify the registry. However, serious problems might occur if you modify the registry incorrectly. Therefore, make sure that you follow these steps carefully. For added protection, back up the registry before you modify it. Then, you can restore the registry if a problem occurs. For more information about how to back up and restore the registry, go to the following Microsoft Knowledge Base article:
322756 How to back up and restore the registry in Windows

Note On DCs and domain-joined computers, the Netlogon service must be running before the W32time service can start. After you upgrade the system, make sure that Netlogon is running before you try any of these workarounds.

To work around this issue, use one of the following methods.



Method 1

Before you upgrade to Windows 10 Version 1607 or Windows Server 2016, manually back up the contents under the w32time registry key. To do this, follow these steps:

  1. Open the Run box. To do this, press the Windows logo key‌ Windows logo key +R.
  2. Type regedit, and then press Enter.
  3. Locate and then click the following registry entry:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\
  4. Click File > Export.
  5. In the Export Registry File dialog box, select the location where you want to save the backup copy, and then type a name for the backup file in the File name field.
  6. Click Save.
  7. Save the W32time configuration for validation. To do this, run the following commands at an elevated command prompt:
    Net start w32time w32tm /query /configuration /verbose > PreUpgradeW32timeConfiguration.txt 
You can now upgrade the computer to Windows Server 2016 or Windows 10 Version 1607. After the upgrade is completed, follow these steps to restore the contents under the w32time registry key:

  1. Open the Run box. To do this, press the Windows logo key‌ Windows logo key +R.
  2. Type regedit, and then press Enter.
  3. Open the Run box. To do this, press the Windows logo key‌ Windows logo key +R.
  4. Type regedit, and then press Enter.
  5. In Registry Editor, click File > Import.
  6. In the Import Registry File dialog box, select the location where you saved the backup copy, select the backup file, and then click Open.
  7. Exit Registry Editor.
  8. Run the following command to remove a deprecated service trigger:

    reg delete HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TriggerInfo\1 /f 
  9. Restart W32time service to enable it to use the new configuration. To do this, run the following commands at an elevated command prompt:
    net stop w32time

    net start w32time

Method 2

If you are experiencing issues that affect the Windows Time Service after you upgrade to Windows Server 2016 or Windows 10 Version 1607, follow these steps to reregister w32tm.exe.

Note This procedure restores the default settings that are appropriate for the computer role. It does not restore any customizations that were made by the administrator.

At an elevated command prompt, run the following sequence of commands:
net stop w32time

w32tm.exe /unregister

w32tm.exe /register

net start w32time


Method 3

If you are experiencing issues that affect the Windows Time Service after you upgrade to Windows Server 2016 or Windows 10 Version 1607, follow these steps to restore your settings from the Windows.old folder.

Important The following steps should be done only by advanced users.

  1. Export the registry key from Windows.old folder

    1. Open the Windows Run box. To do this, press the Windows logo key Windows logo key +R.
    2. Type regedit and then press Enter.
    3. Locate and then click HKEY_LOCAL_MACHINE.
    4. On the File menu, click Load Hive.
    5. Locate and then click the C:\Windows.old\Windows\System32\Config\System file, and then click Open.
    6. In the Load Hive dialog box, type Offline, and then click OK.
    7. Expand Offline.
    8. Locate and then click the following registry subkey:
      ControlSet001\Services\W32Time\
    9. Click File > Export.
    10. In the Export Registry File dialog box, select the location on a local hard disk where you want to save the registry, and then type a name for the backup file in the File name field.
    11. Click Save.
    12. Locate and then click the following registry subkey:
      HKEY_LOCAL_MACHINE\Offline
    13. On the File menu, click Unload Hive, and then click Yes in the Confirm Unload Hive dialog box.
    14. Exit Registry editor.
  2. Restart the computer in Recovery mode

    1. Select Start Windows logo key > Settings > Update & Security > Recovery
    2. From the right-side pane, click Restart now under Advanced startup.
    3. After the computer restarts, select Troubleshoot, and then select Command Prompt.
    4. Select a local admin user, and then insert the password.

      Note This restarts the computer in Recovery mode and provides a Command Prompt window.
  3. Import the saved registry key from step 1

    1. At the command prompt, type regedit and then press Enter
    2. Locate and then select HKEY_LOCAL_MACHINE
    3. On on the File menu, click Load Hive.
    4. Locate and then select the C:\Windows\System32\Config\System file, and then click Open.
    5. In the Load Hive dialog box, type Offline, and then click OK
    6. Expand Offline.
    7. Locate and then click the following registry subkey:
      ControlSet001\Services\W32Time\
    8. Click File > Import.
    9. In the Import Registry File dialog box, select the location where you saved the backup copy, select the backup file, and then click Open.
    10. Locate and then click the following registry subkey:
      HKEY_LOCAL_MACHINE\Offline
    11. On theFile menu, click Unload Hive, and then click Yes in the Confirm Unload Hive dialog box.
    12. Exit Registry Editor, and then restart the computer in Normal mode.

Verify the workaround results

To verify that the Windows Time service can now preserve its configuration, follow these steps:



  1. Run DCDiag.exe on DCs to make sure that they are advertising as a time server.
  2. Make sure that DCs or Authoritative NTP Servers respond to NTP client requests without errors. For example, the command output resembles the following:
    c:\<w32tm /stripchart /computer:<myTimeServer>
    Tracking <myTimeServer> [10.1.1.100:123].
    The current time is 10/28/2016 9:00:00 AM.
    09:00:00 d:+00.0013494s o:-00.0891868s [ * ]
  3. For advanced users, query the W32time configuration, and make sure that the time providers are configured as expected. If you used Method 1 as the workaround, you can compare the post-upgrade configuration to the saved pre-configuration data. For example, the command output resembles the following:
    c:\ >w32tm /query /configuration /verbose > PostUpgradeW32timeConfiguration.txt 

References

For more information about related Netlogon issues, click the following article number to view the article in the Microsoft Knowledge Base:
3201247 Netlogon service doesn't retain settings after upgrade to Windows Server 2016
Properties

Article ID: 3201265 - Last Review: Nov 22, 2016 - Revision: 1

Windows Server 2016 Datacenter, Windows Server 2016 Standard, Windows Server 2016, Windows 10 Version 1607, Windows Server 2012 R2 Datacenter, Windows Server 2012 R2 Standard, Windows Server 2012 Datacenter, Windows Server 2012 Datacenter, Windows Server 2012 Datacenter, Windows Server 2012 Datacenter, Windows Server 2012 Standard, Windows Server 2012 Standard, Windows Server 2012 Standard, Windows Server 2012 Standard, Windows 8.1, Windows 8, Windows 7 Service Pack 1

Feedback