I ran command on our Domain Controller that has PDC Emulator Role:

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

This is a physical server.

On our Hyper-V host (seperate physical server) I ran command:

w32tm /config /syncfromflags:domhier /update

but the Hyper-V host even after restarting service is set to use a virtual machine as provider.

Why the Hyper-V host is not using the Domain Controller that has PDC Emulator Role, even after I ran the command?


Why the Hyper-V host is not using the Domain Controller that has PDC Emulator Role, even after I ran the command?

Because that's not how it works. Domain members sync their time with their authenticating DC, which is not necessarily the PDCe.

w32tm /config /syncfromflags:domhier /update tells the time service to sync with the domain hierarchy. It does not tell the time service to sync with the PDCe. The domain hierarchy consists of any and every domain controller, unless they're configured not to provide time service.


Based on your comments:

You're misunderstanding time. None of the computers (whether virtual or physical) get their time from any other computer or time source. All computers get their time from either their internal RTC (real time clock) or from the hypervisor host (at virtual machine startup). They sync their time with another computer or time source but they do not get their time from another computer or time source. Here's my suggestion:

  1. Disable the Hyper-V Time Integration service for all of your domain joined virtual machines.

  2. Sync your Hyper-V host to the domain hierarchy just like any other domain joined computer, whether physical or virtual.

  3. Sync all of your domain joined clients to the domain hierarchy. This includes any and all Domain Controllers that don't hold the PDCe role.

  4. Sync your PDCe Domain Controller to whatever reliable external time source you wish.

I can tell you that I have worked with several Hyper-V deployments of this nature over the past several years with absolutely no time sync issues.

  • I will demote the DC running inside the VM (that the Hyper-V host is syncing to) as it was only temporary, but until I have a time to do this (when restart is allowed etc.) how do I disable time on that DC, or manually force to PDCE?
    – SMW
    Mar 18 '15 at 14:59
  • Why do you want to do this? Why don't you leave it to work the way it was designed to work?
    – joeqwerty
    Mar 18 '15 at 15:01
  • The virtual machine does not have the correct time. The virtual machine gets it's time from the host, which gets its time from the virtual machine ...
    – SMW
    Mar 18 '15 at 15:21
  • Upgrade to 2012 R2 - both clients and host. 2012 R2 fixed that issue for good and now the setup is clear: enable time service on bot, virtual DC as well as the host, they work nicely together now.
    – TomTom
    Mar 18 '15 at 18:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.