Windows Time Server - AnnounceFlags

Posted on 2008-11-14
Last Modified: 2012-08-13
Hey again,

Here is a general knowledge question.  Looking for an explanation of some sort.  Regarding the configuration of a Windows Time Server, every step-by-step article I have found on the subject has told me to set my "announceflags" to a value of 5.  This includes the step-by-step document on Microsoft's site (  After doing some digging, I found some information from Microsoft detailing what numbers you can use for announceflags.  They say that 10 is the default, and that the other numbers available are 0, 1, 2, 4, and 8.  So where is 5?  What does it stand for?  Is this a typo in EVERYONE'S documentation?  Is this a valid announceflag number?  What does it mean?

If someone can tell me what 5 means, points for you.  You're gonna need proof though.

I have no idea though why Microsoft would publish a document on how to configure a time server, and then have no definition for the number 5.  Makes no sense.
Question by:telebec
    LVL 24

    Expert Comment

    When number 5 is set the server announces itself as a reliable time source.  There is no documentation on what a 6 or 7...etc would mean.
    10 if thats the default may just mean that it will not announce itself as a time server
    LVL 82

    Expert Comment

    These values are documented; just have a look here:
    Config\AnnounceFlags Entry

    The values define how the DC announces itself as time server:
    0      Timeserv_Announce_No, Reliable_Timeserv_Announce_No. The domain controller does not advertise time service.
    1      Timeserv_Announce_Yes. The domain controller always advertises time service.
    2      Timeserv_Announce_Auto. The domain controller automatically determines whether it should advertise time service.
    4      Reliable_Timeserv_Announce_Yes. The domain contoller will always advertise reliable time service.
    8      Reliable_Timeserv_Announce_Auto. The domain controller automatically determines whether it should advertise reliable time service.
    "This value combines flags using the bitwise OR operator. For each position in the binary value, if any flag has the value of 1 in the corresponding position, the combined value does as well. For example, the flags 1 and 8, which are 0001 and 1000 in binary, are 1001 when combined with bitwise OR."

    0 simply means no announcements, and 1, 2, 4, 8 are the individual bits that decide whether the according function will be announced.
    A value of 5 simply is 1+4, so "The domain controller always advertises time service." and "The domain contoller will always advertise reliable time service."
    10 (0xa) means 2+8, so "The domain controller automatically determines whether it should advertise time service." and "The domain controller automatically determines whether it should advertise reliable time service."

    Expert Comment

    I have spend more than a week in digging web to find same information and I agree with ryansoto about lack of details in any article.
    oBdA had explained that very well and only part I am not sure about AND operation, not documented anywhere but that makes sense.
    I agree with oBDA

    Thanks for details
    LVL 82

    Accepted Solution

    AnnounceFlags is just a value that encodes the 4 settings above in 4 bits. Bitwise operations are documented as well.
    A bitwise OR of numbers that are powers of 2 is identical with adding them:
    8d + 2d = 10d = 1010b = 1000b OR 0010b
    Bitwise operation
    See the example below for 5 and 10.
                     +---------------> 8 (= 2^3) Reliable_Timeserv_Announce_Auto
                     |   +-----------> 4 (= 2^2) Reliable_Timeserv_Announce_Yes
                     |   |   +-------> 2 (= 2^1) Timeserv_Announce_Auto
                     |   |   |   +---> 1 (= 2^0) Timeserv_Announce_Yes
                     |   |   |   |     
                     V   V   V   V
    Bit:           | 3 | 2 | 1 | 0 |
    AnnounceFlags: | 1 | 0 | 1 | 0 | = 8 + 0 + 2 + 0 = 10 = Reliable_Timeserv_Announce_Auto and Timeserv_Announce_Auto
    AnnounceFlags: | 0 | 1 | 0 | 1 | = 0 + 4 + 0 + 1 =  5 = Reliable_Timeserv_Announce_Yes and Timeserv_Announce_Yes

    Open in new window

    LVL 1

    Expert Comment

    Thanks, after much searching this solved my problem. I used 0xa instead of 0x5. Eventhough both should work, this is what solved my problem. I have documented my journey on this issue here:

    Featured Post

    Looking for New Ways to Advertise?

    Engage with tech pros in our community with native advertising, as a Vendor Expert, and more.

    Join & Write a Comment

    Data center, now-a-days, is referred as the home of all the advanced technologies. In-fact, most of the businesses are now establishing their entire organizational structure around the IT capabilities.
    PRTG Network Monitor lets you monitor your bandwidth usage, so you know who is using up your bandwidth, and what they're using it for.
    Get a first impression of how PRTG looks and learn how it works.   This video is a short introduction to PRTG, as an initial overview or as a quick start for new PRTG users.
    In this tutorial you'll learn about bandwidth monitoring with flows and packet sniffing with our network monitoring solution PRTG Network Monitor ( If you're interested in additional methods for monitoring bandwidt…

    728 members asked questions and received personalized solutions in the past 7 days.

    Join the community of 500,000 technology professionals and ask your questions.

    Join & Ask a Question

    Need Help in Real-Time?

    Connect with top rated Experts

    19 Experts available now in Live!

    Get 1:1 Help Now