[Webinar] Streamline your web hosting managementRegister Today

  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 3631
  • Last Modified:

DNS cannot be installed on this DC because this DC does not host DNS

Hello EE,
I have a DC that I am trying to introduce into my existing child domain.
Parent domain has 2 DC's
Child domain has 6 DC's (one per branch office)

I have a 2003 functional level and am trying to replace the 2003 with 2012.  I have 2 DCs in with 2012 as of now, but am trying to add another and get that going along side my 2003 and eventually demote the 2003, but when I run the promote wizard it gives me greyed out DNS.
"DNS cannot be installed on this domain controller because this domain does not host DNS"
What is this?  I've read other articles but not matching my environment so not sure what to do ?
  • 5
  • 5
  • 2
  • +2
1 Solution
Will SzymkowskiSenior Solution ArchitectCommented:
Do you have the DNS server role installed on your DC brfore doing the promotion? Have you tried to add ADDS and DNS from the Roles, then do dcpromo /adv.

From there try again and see if you get the same error.

You can also reference the below link. It describes 2008R2 but same concept applies.

Paul MacDonaldDirector, Information SystemsCommented:
Microsoft suggests completing the installation, then installing DNS once you've rebooted.

bergquistcompanyAuthor Commented:
DNS and AD DS roles have been installed.  Now at the promote part.

Should I uninstall DNS, leaving AD DS, promote and then install DNS?
Making Bulk Changes to Active Directory

Watch this video to see how easy it is to make mass changes to Active Directory from an external text file without using complicated scripts.

Paul MacDonaldDirector, Information SystemsCommented:
You should be able to promote the DC with DNS installed.  Give it a go.  If it doesn't work, fall back to promoting it, then setting up DNS.
Will SzymkowskiSenior Solution ArchitectCommented:
Do the promotion. Make sure that the your DC is initially pointing to another DC until it has been fully promoted. Once promoted and DNS is installed make the primary DNS server point to itself.

Your AD domain doesn't have a single-label DNS name (i.e., a name like contoso rather than contoso.com, contoso,local, or something like that), does it?
This problem occurs only in child domain if DNS is not setup properly between parent and child domain
If parent DNS and child dns are out of sync, then during DC promotion, you cannot identify its authoritative zone (child domain DNS zone) and that's why DNS is getting grated out.
Let us know if you have Something like below
You have parent domain called xyz.com having replication scope to all domain sin forest
Your child domain must be having xyz.com, but with replication scope to all dns servers in this domain due to some zone deletion, restoration in past. There is xyz.com zone in both domains but totally out of sync

In that case this is not ideal situation and child domain simply unable to find its authoritative zone registration in AD and DNS is greyed out.

bergquistcompanyAuthor Commented:

Parent domain is xyz.com and there are 2 DCs in this domain.  How can I confirm if they are replicating to all domains in forest or just in domain?
Child is pdq.xyz.com and these domains replicate within the domain I believe.

How can I confirm/correct this?

I did promote and I it has DNS entries so is there a way to confirm
You can go to zone properties \ general tab \ replication and check what is selected there ?

All dns servers in domain or all dns servers in forest. Will tell you there replication scope

parent domain zone should replicated to all dns servers in its own domain only and child also should replicate to its own domain only as a best practise.

What is your name resolution strategy between parent and child domains ?

Check if you have created domain dns delegation on parent DC in parent domain dns zone pointing to child domain and its DC and it do not contains any stale NS records for child DNS servers as DNS delegation is static and NS records need to be manually updated when changed.
Parent domain should have dns delegation pointing to child domain dns server to resolve resources in child domain from parent domain and child domain must be having conditional forwarder on its dns server pointing to parent domain for resolving records in parent domain
Alternatively you can setup secondary zones in both domains pointing to each other for name resolution
Just check with nslookup if both domain DCs can resolve each other.
Just run below commands on both domains DNS server to verify if both can resolve each other.
In cmd Type nslookup, and then press ENTER.
Type set type=all, and then press ENTER.
Type _ldap._tcp.dc._msdcs.Domain_Name,
Change domain name with parent domain and child domain respectively and it should resolve properly

if everything is setup as per above then you should not get dns greyed out

bergquistcompanyAuthor Commented:
So I show on Parent:
Type AD Integrated
Replication: All DNS servers in this forest.  Should change this?
Child domain doesn't have properties to check (See attached)

parent is xy.com
child is uv.xy.com

How do I confirm delegation settings?  No Zone transfers and Name servers for all DCs listed.
Parent preferred is self and alternate child
Secondary Parent DC is self as preferred and primary parent DC as alternate
I have nothing in conditional forwarders folder (see attached)

so from child nslookup parent domain and vice versa?
Please don't change anything right now.
Yes, you have single zone replicated to parent and child domain
That is why you don't have conditional forwarders in child domain and delegation in parent domain as complete zone is replicated to both domains.

Yes, please do nslookup from child and parent for each other as mentioned in earlier comment for verification.

Can you just check zone properties on child DC (go to properties of main zone same as parent domain) and can you check there what is the replication scope please

bergquistcompanyAuthor Commented:
Is how you are saying the best practice for DNS setup?

from parent DC
> _ldap._tcp.dc._msdcs.northamerica.bergquistcompany.com
Server:  parentDC.bergquistcompany.com
Address:  10.10.x.x

Name:    _ldap._tcp.dc._msdcs.northamerica.bergquistcompany.com

From child
> _ldap._tcp.dc._msdcs.bergquistcompany.com
Server:  childdc.northamerica.bergquistcompany.com
Address:  10.10.x.x

Name:    _ldap._tcp.dc._msdcs.bergquistcompany.com

If I go to DNS on the child and look at the parent domain properties it is the same AD integrated and to all DCs in the forest.  Again the child domain is a folder so can't go to properties on the child other than physically I am on the child dc now.

Thanks again for all your help!
It looks like DNS is not according to best practises, but configuration is OK and no change is required as it will inolve some major changes \ steps \ downtime which is not advisable at this point of time.
I have observed that this DNS grayed out problem occcurs offen in child domains only

Just outline steps here:
Export all records in parent zone under child domain sub folder
Prepare dnscmd batch file (dnscmd /recordadd) for adding host A records in child domain in advance
Change parent zone (domain.com) replication scope from forest to domain !!
Above step will simply delete parent zone from all DCs in child domain -critical step
delete child domain folder from parent dns zone - Force AD replication in parent domain
create dns delegation in parent dns zone on parent DC pointing to child domain
Point child domain PDC to itself in tcp/ip settings - I guess it is already
create child.domain.com ad integrated zone in child domain PDC with replication scope as domain and ADD all child DC as NS records in that zone manually.
Restart netlogon service on child PDC to populate all DNS folders and SRV records in child domain to that zone
Force replication to populate that zone on all child DCs
Create conditional forwarder in child domain PDC pointing to parent domain and its DNS server and store it into active directory
Restore all Host (A) records for resources in child domain with dnscmd batch file created earlier

All above excercise required extreme care and involves downtime.

Above outlined steps actually need to be done at very intial stage when you 1st deployed child domain 1st DC in past.

2008 R2 AD is smart enough to identify this and it will automatiocally create delegation in parent zone on parent DC and create child.domain.com zone in child domain exactly same as stated above in 1st shot

Hence I suggest you to go with workaround provided by others and keep above in mind in case if you required to create additional child domains in feature

bergquistcompanyAuthor Commented:
So based on nslookup it appears DNS is working on new child?

In future Promote then install DNS?  And your steps if creating other child domains but for the one I have I must continue as is?
Yes, basically Nslookup is the primary tool to identify

Apart from that you have same zone replicated to all dns servers in forest and replication is working as well, so in this situation its not worth to change DNS architecture only for single issue

Separating DNS zones for  each domain have several benefits:
Each zone is replicated to in its own domain only
What it means, in existing architecture your whole child domain DNS folders unnecessarily getting replicated to parent domain causing utilizing more system resources.
Also any DNS issues \ stale records \ misconfigurations will remain limited to its own domain only
Also your organization size is big and if you have multiple domains, then there is no point in keeping single zone that will replicated to all domains as this zone is getting bigger day by day causing more system utilization for all domains.

Yes, in future first promote, then install DNS (Workaround)

Now if you want to change architecture, it will lead to downtime and it requires careful planning, probably you need to hire consultant to do that perfectly
That is why I suggested you to keep it as is.

Even if you now try to promote new 2008 R2 child domain, scenario will not change as your root domain dns zone is set to replicate in all dns servers in forest and hence separate child domain dns zone (child.parentdomain.com) will never get created automatically.

The only option to do that is to restructure DNS in parent and child domains

Now you will ask me what if you create child.parentdomain.com in existing child domain and later on get rid of replicated parent dns zone ?
Yes, you can do that, but moment you do that DNS dynamic update will start updating records in new zone only and your existing records that exists in child domain folder under parent zone on child DC will stop DNS dynamic update and this will create mess.
Because DNS dynamic update can work with any one zone only at a time and that make sense to avoid corruption.
The viable option in that situation is that you can export all records from child domain folder under parent zone on child DC 1st and once you created zone as above (child.parentdomain.com), then use batch file (dnscmd /recordadd) to add those records to newly created zone and then delete them from child domain folder under parent zone on child DC
The force replication of newly created zone on all child DCs and once it get replicated to all servers, just go to parent domain and change parent zone replication scope to all dns servers in domain so that zone will get deleted automatically from child DCs
This will minimize impact and downtime.

This solution is not recommended by MS, but I have done it successfully for one of my client.

If you really want to do it, just hire some consultant


Featured Post

SMB Security Just Got a Layer Stronger

WatchGuard acquires Percipient Networks to extend protection to the DNS layer, further increasing the value of Total Security Suite.  Learn more about what this means for you and how you can improve your security with WatchGuard today!

  • 5
  • 5
  • 2
  • +2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now