Author Posts

June 25, 2015 at 2:07 pm

Since the DNS Client module is not available on Windows 7 computers (or Windows XP), I have spent the day unsuccessfully looking for the WMI Class and particularly the correct syntax to perform the same task with Get-WmiObject. I could use ipconfig /displaydns but prefer to work with the more formal WMI, if possible. Get-WmiObject also has the -ComputerName parameter, which would let me poll remote computers, instead of wrapping ipconfig in a Invoke-Command temporary session.


June 25, 2015 at 2:58 pm

Hey Mate,

You can use something like this to display you the DNS configuration of a server.

Get-WmiObject -class Win32_Networkadapterconfiguration | select -ExpandProperty DNSserversearchorder 

If you wanted to have a bit more detailed output you could take off the expandproperty and add something like.

 select __Server,DNSServersearchorder -Unique 

hopefully this is a point in the right direction.


Edit: just noticed you were after the Client Cache, I should really read the question first. haha

June 26, 2015 at 5:17 am

It is the DNS Resolver Cache on local Windows 7 workstations I am trying to poll by WMI, to get the same information "ipconfig /DisplayDNS" returns. Since Windows 7 will be supported until 2020, people will need a workaround for Get-DNSCache, which only is available on Windows 8/Server 2012.

June 26, 2015 at 5:18 am

The DNS client cache is not available as WMI class in Win7 and earlier unless you code your own using the Windows APIs.

You will need to use ipconfig /displaydns or find a 3rd party tool which might do the same in a better output format. There are several examples on the web how to parse the output of ipconfig /displaydns.

June 28, 2015 at 11:57 am

I've given a fairly brute force approach here:
Parsing ipconfig /displaydns