Fix it now
The DHCP service asked Active Directory whether this server is on the authorised list, was told it is not, and stopped answering clients. Restarting the service only asks the same question again, so authorise the server with an account that can write to the forest configuration partition.
Get-DhcpServerInDC
Add-DhcpServerInDC -DnsName dhcp01.contoso.com -IPAddress 10.0.0.5
Restart-Service DHCPServer
Get-DhcpServerv4ScopeStatistics
- Read the
Get-DhcpServerInDCoutput first. If this server is absent, it was never authorised or the entry has been removed. If it is listed with an address it no longer uses, remove that entry withRemove-DhcpServerInDCbefore adding the current one. - The same list is visible from a command prompt with
netsh dhcp show server, and inadsiedit.mscunder Configuration, Services, NetServices. - Confirm the service has changed its mind: Event ID 1044 should appear after the restart, in the System log and in Applications and Services Logs, Microsoft, Windows, DHCP-Server.
- If the authorisation itself fails with “The specified domain either does not exist or could not be contacted”, stop and test the path to a domain controller:
Test-NetConnection -ComputerName <dc> -Port 389.
The authorised-server list lives in the forest configuration partition, which is why Microsoft’s guidance is to authorise from an Enterprise Administrator account rather than a domain admin one.
If leases are being issued again you can stop here. The next section explains what the service is checking, and why some servers lose their authorisation days after you grant it.
Why it happens
A domain-joined Windows DHCP server does not simply start serving. It looks for its own IP address in a list of authorised servers held in the configuration partition of Active Directory, reached over LDAP. If the address is not there, the service stays running but refuses to answer clients: the console looks normal, every scope is present, and no device gets a lease.
The check is not a one-off at service start. Microsoft documents that the server revalidates its authorisation status in Active Directory Domain Services every hour, and that if its address is not found in the list it deauthorises itself. That is the detail behind the most confusing version of this fault, where a server works all afternoon and stops overnight without anybody touching it.
Be clear about what the mechanism is not. It constrains Windows DHCP servers that are domain members; an appliance or a Linux server leases addresses regardless of what the directory thinks. Treat authorisation as control over your own estate, not protection from someone else’s equipment.
The server has no entry in the directory at all
You have this one if Get-DhcpServerInDC does not list it, and the DHCP console shows a warning marker against the IPv4 node.
- Sign in with an Enterprise Administrator account, or one delegated rights on the NetServices container.
- Authorise it:
Add-DhcpServerInDC -DnsName <fqdn> -IPAddress <address>, or right-click the server in the DHCP console and choose Authorize. - Restart the DHCP Server service, then confirm Event ID 1044 follows.
If you rebuild DHCP servers regularly, delegate rights on that container to a group. It removes the need for an Enterprise Admin account for a routine operation.
The server cannot reach a directory server to ask
You have this one if Event ID 1059 is logged, or the post-installation authorisation step fails with error code 20070, “The DHCP service could not contact Active Directory”.
- Test LDAP from the DHCP server itself:
Test-NetConnection -ComputerName <dc> -Port 389. TCP and UDP 389 both need to be open. - Confirm the server resolves domain controller records – internal DNS only, no public resolver in the list.
- Once the port test passes, restart the DHCP Server service and re-read the event log.
A conflict object has taken the server’s place in NetServices
You have this one if Manual authorisation appears to work, then fails again days later. In adsiedit.msc the entry under NetServices carries a CNF tag, such as <fqdn>CNF:ca69f501234.
- Open
adsiedit.msc, connect to the Configuration container, and browse to Services, then NetServices. - Look for an entry whose CN contains CNF. That is a replication conflict object, and the server cannot be authorised while it is there.
- Back up Active Directory, delete the conflict object, then authorise the server again.
The listed address is not the address the service is using
You have this one if The server appears in the list, 1046 is still logged, and the address in the entry does not match ipconfig on the server.
- Remove the stale entry:
Remove-DhcpServerInDC -DnsName <fqdn> -IPAddress <old address>, then add it again with the address the service is bound to. - On a multi-homed server, set which connections the service serves in the server’s properties, Advanced tab.
- Restart the service and confirm 1044.
Full reference
The four events that describe the decision
| Event ID | Symbolic name | What it records |
|---|---|---|
| 1044 | DHCP_ROGUE_EVENT_STARTED_DOMAIN | The service determined it is authorised in the named administrative domain and is servicing clients |
| 1046 | DHCP_ROGUE_EVENT_STOPPED_DOMAIN | The service determined it is not authorised, and has stopped servicing clients. The text lists the possible reasons |
| 1059 | EVENT_SERVER_COULDNT_SEE_DS | The service failed to see a directory server for authorisation, so the decision could not be made |
| 1063 | EVENT_SERVER_SCOPE_FULL | No addresses are available for lease in the named scope or superscope. Nothing to do with authorisation |
1063 is often quoted in this context and it does not belong here. It is the pool-exhaustion event: if you have it, the server is authorised and serving, and it has simply run out of addresses.
Where the record actually lives
Authorisation creates an object under CN=NetServices,CN=Services,CN=Configuration,DC=..., written over LDAP. Because the configuration partition is forest-wide, one authorisation covers the forest and the rights needed are forest-level. Two consequences follow: replication latency can make a freshly authorised server look unauthorised on a distant site for a while, and a replication conflict on that container produces the CNF objects described above.
Commands worth having open
| Command | What it tells you |
|---|---|
Get-DhcpServerInDC |
The authorised list as the directory holds it, with names and addresses |
netsh dhcp show server |
The same list from a command prompt |
Add-DhcpServerInDC -DnsName <fqdn> -IPAddress <addr> |
Adds this server to the list |
Remove-DhcpServerInDC -DnsName <fqdn> -IPAddress <addr> |
Removes an entry, including a stale one |
Test-NetConnection -ComputerName <dc> -Port 389 |
Whether this server can reach LDAP on a domain controller |
Get-DhcpServerv4ScopeStatistics |
Whether leases are being issued once the service is serving again |
The standalone case, and what the event text actually says
Read the whole 1046 description rather than the first line. Microsoft’s text lists three possible reasons: the machine is part of a directory service enterprise and is not authorised in the same domain; the machine cannot reach its own directory enterprise and has encountered another DHCP service belonging to one where it is not authorised; or an unexpected network error occurred. The middle reason is the one that catches lab and workgroup servers plugged into a production segment – nothing was removed, and nothing on that server needs fixing except where it is plugged in.
When the server keeps losing its authorisation
- Someone or something is deleting the object. Enable Audit Directory Service Changes and set auditing on the NetServices container; the Security log then names the account behind “A directory service object was deleted”.
- Check for a second, older entry for the same server under a previous name or address, which can be removed by a cleanup script that thinks it is tidying up.
- Confirm the server’s address has not changed since the entry was written – DHCP servers should hold a static address.
- If the server sits behind an intermittent link, the hourly revalidation is the thing to watch: a failure to reach a directory server produces 1059, and 1046 follows.
Data collection before you call anyone
Microsoft’s own DHCP troubleshooting path uses the TroubleShootingScript toolset. On the affected server, .\TSS.ps1 -Scenario NET_DHCPsrv collects the logs a support case will ask for, which is worth doing before rebuilding anything.
Every code this article covers
| Code | What it points at | Source |
|---|---|---|
Event ID 1046 |
The service checked the directory, did not find itself in the authorised list, and stopped servicing clients | Microsoft Learn |
Event ID 1044 |
The success counterpart: the service considers itself authorised and is servicing clients now | Microsoft Learn |
Event ID 1059 |
The DHCP service failed to see a directory server for authorisation, so it could not complete the check | Microsoft Learn |
Event ID 1063 |
No IP addresses are available for lease in the named scope or superscope. This is exhaustion, not authorisation | Microsoft Learn |
Confirm the fix worked
Get-DhcpServerInDClists this server with the address it is actually using.- Event ID 1044 appears after the most recent service start, and no 1046 follows it.
- A test client releases and renews and receives a lease from this server.
Get-DhcpServerv4ScopeStatisticsshows the in-use count climbing again.- Leave it a couple of hours and re-check the log, so the hourly revalidation has run at least once.
Questions people ask about this
Does authorising a DHCP server cost anything?
No. It is a directory object and one command. Nothing about this error is a licensing problem.
Who can authorise a server?
Microsoft’s guidance is an Enterprise Administrator account, because the object lives in the forest configuration partition. Those rights can be delegated to a smaller group if you would rather not use an Enterprise Admin account for routine work.
Does this stop a rogue DHCP server?
Only a Windows one that is a domain member. A consumer router plugged into a wall port will answer clients happily. Use DHCP snooping on the switches if you need that covered.
Do I need to re-authorise after changing the server’s IP address?
Yes. The entry records an address, so changing it leaves the entry pointing at nothing. Remove the old entry and add the current one.
Why did it work for a day and then stop?
The server revalidates its authorisation every hour and deauthorises itself when its address is not in the list. Either the object was removed after you created it, or a conflict object is shadowing it.
