Forcing Windows to obey DNS server order

When you run your own DNS server to give easily remembered names to the devices on your internal network it kind of helps if all of those devices, including Windows desktops, actually query that server. Of course in the real world we have to do a registry hack to make that happen.

I’m really tired of having to hack my machines in order to correct intentional flaws in the design of some systems that make interoperability (how ironic that WordPress’s dictionary doesn’t recognize that word) a moving target.

When deciding which DNS server to query Microsoft Windows systems since XP do not follow the order either served up by DHCP or manually entered into the network device configuration. As a result those of us who have internal DNS servers often find that Windows clients querying an external DNS server for an internal-only host name, resulting in the client receiving back a “no found” error.

Fixing this is easy, at least for someone who earned his MCSE back when the Windows Server tested on was NT 3.51.

Just open regedit and go to:

HKLM\SYSTEM\CurrentControlSet\services\Dnscache\Parameters

Then add the following REG_DWORD key and value:

ServerPriorityTimeLimit 0

Although the relevant support article (Q320760) refers to Windows XP, this hack also works for Windows 7.

This entry was posted in System Administration on by .

About phil

My name is Phil Lembo. In my day job I’m an enterprise IT architect for a leading distribution and services company. The rest of my time I try to maintain a semi-normal family life in the suburbs of Raleigh, NC. E-mail me at philipATlembobrothersDOTcom. The opinions expressed here are entirely my own and not those of my employers, past, present or future (except where I quote others, who will need to accept responsibility for their own rants).