The Time Space Continuum…Solved!

OK, so I have a Server 2008R2 box running Hyper-V with 3 virtual servers; one DC, one WDS and one SharePoint.

My problem has been that for some strange reason (LISTEN UP HERE MICROSOFT!) my host PC starts loosing time, after about 20 days my clock ends up being about 10 mins behind. Now to really throw a loop into things, this ends up changing the time on all the virtual machines. Since one of those machines is my DC, it then affects all my desktop machines. I’ve tried all kinds of things..and NO it’s not my CMOS battery going out(I even switched out the PC)

I came across a great article about how to FORCE a computer to use an external Time Server (which you loose when you implement a domain). So here we go:

To configure an internal time server to synchronize with an external time source, follow these steps:

  1. Change the server type to NTP. To do this, follow these steps:

    1. Click Start, click Run, type regedit, and then click OK.

    2. Locate and then click the following registry subkey: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ W32Time\Parameters\Type

    3. In the right pane, right-click Type, and then click Modify.

    4. In Edit Value, type NTP in the Value data box, and then click OK.

  2. Set AnnounceFlags to 5. To do this, follow these steps:

    1. Locate and then click the following registry subkey: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ W32Time\Config\AnnounceFlags

    2. In the right pane, right-click AnnounceFlags, and then click Modify.

    3. In Edit DWORD Value, type 5 in the Value data box, and then click OK.
  3. Enable NTPServer. To do this, follow these steps:

    1. Locate and then click the following registry subkey: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ W32Time\TimeProviders\NtpServer

    2. In the right pane, right-click Enabled, and then click Modify.

    3. In Edit DWORD Value, type 1 in the Value data box, and then click OK.
  4. Specify the time sources. To do this, follow these steps:

    1. Locate and then click the following registry subkey: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ W32Time\Parameters

    2. In the right pane, right-click NtpServer, and then click Modify.

    3. In Edit Value, type Peers in the Value data box, and then click OK. (Note Peers is a placeholder for a space-delimited list of peers from which your computer obtains time stamps. Each DNS name that is listed must be unique. You must append ,0x1 to the end of each DNS name. If you do not append ,0x1 to the end of each DNS name, the changes made in step 5 will not take effect.)
  5. Select the poll interval. To do this, follow these steps:

    1. Locate and then click the following registry subkey: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ W32Time\TimeProviders\NtpClient\SpecialPollInterval

    2. In the right pane, right-click SpecialPollInterval, and then click Modify.

    3. In Edit DWORD Value, type TimeInSeconds in the Value data box, and then click OK. (Note TimeInSeconds is a placeholder for the number of seconds that you want between each poll. A recommended value is 900 Decimal. This value configures the Time Server to poll every 15 minutes.)
  6. Configure the time correction settings. To do this, follow these steps:

    1. Locate and then click the following registry subkey: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ W32Time\Config\MaxPosPhaseCorrection

    2. In the right pane, right-click MaxPosPhaseCorrection, and then click Modify.

    3. In Edit DWORD Value, click to select Decimal in the Base box.
    4. In Edit DWORD Value, type TimeInSeconds in the Value data box, and then click OK. (Note TimeInSeconds is a placeholder for a reasonable value, such as 1 hour (3600) or 30 minutes (1800). The value that you select will depend upon the poll interval, network condition, and external time source.)
    5. Locate and then click the following registry subkey: HKEYLOCALMACHINE\SYSTEM\CurrentControlSet\Services\ W32Time\Config\MaxNegPhaseCorrection
    6. In the right pane, right-click MaxNegPhaseCorrection, and then click Modify.
    7. In Edit DWORD Value, click to select Decimal in the Base box. In Edit DWORD Value, type TimeInSeconds in the Value data box, and then click OK.
      (Note TimeInSeconds is a placeholder for a reasonable value, such as 1 hour (3600) or 30 minutes (1800). The value that you select will depend upon the poll interval, network condition, and external time source.)
  7. Quit Registry Editor.

  8. At the command prompt (elevate to admin), type the following command to restart the Windows Time service, and then press ENTER:
    net stop w32time && net start w32time

Thanks TechNet!

I’m OUT!

-Dale