Windows Time Server - AnnounceFlags

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.
NorthernTel & Telebec Managed ServicesManaged I.T. SupportAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

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
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."
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
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

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
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:
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Server Hardware

From novice to tech pro — start learning today.