DNS dependency analysis tool

Associate Consultant, Tata Consultancy Services (November 2022 to present)

A PowerShell tool that found unknown DNS dependencies across over 800 servers, so legacy DNS servers could be retired without disruption.

The problem

Legacy DNS servers could not be switched off because nobody could say which servers, devices and applications still depended on them. A configuration list shows what should use a DNS server, not what does.

What I did

I wrote a PowerShell script that reads the DNS debug logs from the servers being retired, groups the queries by client, matches each client to an owner and reports the clients nobody expected. The script is kept in Git, takes its inputs as parameters and is documented, so the operations team can run it again for the next server.

The unexplained clients became a short investigation list. Each was fixed or confirmed before the legacy server was switched off.

The result

The script found unknown dependencies across over 800 servers. The legacy DNS servers were retired without disruption.

The method is written up in the article Finding hidden dependencies before you retire a Windows DNS server.