DNS EnableLogFileRollover Update via Regedit instead of Powershell

Today we had a remote site report that two computers had limited to no connectivity.  The issue lead to the site’s DHCP / DNS server.  DHCP was no longer authorized and the DNS server would not come up.  After DHCP was re-authorized, DNS still had issues.  The server happened to the a server core install which added a further wrinkle to troubleshooting.

Once firewall rules were in order, we were able to gather two errors:

Event 2204, DNS-Server_Service - The registry value HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNS\Parameters\EnableLogFileRollover contains an invalid value or could not be read. The DNS server cannot start. You must change this value to valid data or delete it and then attempt to restart the DNS service.


Event 3152, DNS-Server_Service - The DNS server was unable to open file c:\windows\system32\logfiles\dns\dns.log for write.  Most likely the file is a zone file that is already open.  Close the zone file and re-initiate zone write.

Research into the issue pointed to making a change with PowerShell.  This site describes fixing the same issue with PowerShell.


However the powershell cmdlets did not work.  A quick check with Microsoft showed the command should have been working.




To enable the Rollover function and allow the service to start up successfully, use the following setting:

DWORD32 - EnableLogFileRollover
Value - 1


In our case, the entry did not exist.  Adding the entry allowed for DNS to successfully load and resolved all of out issues.

Hopefully this information is helpful for those that are looking to resolve a similar issue.

Tips are appreciated – BTC 16hAUEAYn5reugvNcWBXLbp7za89hTx9jA

Tagged , , , , , , , , , , , , ,