Contents

Gestionar la caché de DNS con PowerShell

Si hay una prueba que siempre vale la pena hacer cuando estamos intentando resolver cualquier problema relacionado con la IT es comprobar que la resolución DNS funciona correctamente. No es casualidad que una de las frases míticas en las redes IT sea la de “it’s always DNS”. En la breve entrada de hoy veremos cómo gestionar la caché de DNS con PowerShell.

Listar entradas de la caché de DNS con PowerShell

Un cmdlet que nos puede ser muy útil a la hora de hacer troubleshooting de DNS es Get-DnsClientCache. Con Get-DnsClientCache podremos consultar las entradas DNS actualmente cacheadas y comprobar si éstas están apuntando donde realmente toca:

/wp-content/uploads/2018/08/Cache-dns-desde-powershell.png
Cache dns desde powershell

Como podemos ver en la captura Get-DnsClientCache nos da información que nos puede ser útil, como el tipo de registro, el estado o su TTL.

Si quisieramos podríamos consultar, por ejemplo, concretamente la entrada DNS cacheada de una página concreta (como la de este blog) para comprobar que realmente apunte al servidor que queremos con el parámetro -Entry.

/wp-content/uploads/2018/08/Get-DnsClientCache_Entry.png
Consultar caché DNS con PowerShell

Borrar la caché de DNS con PowerShell

La acción típica que realizamos cuando sospechamos que tenemos un problema de caché DNS es limpiarla. Desde cmd utilizaríamos el trilladísimo ipconfig /flushdns, pero es interesante saber que desde PowerShell también podemos acceder a dicha acción de forma integrada:

1
Clear-DnsClientCache

Una opción interesante de este cmdlet es que podemos realizar dicha acción contra una máquina remota utilizando el parámetro -CimSession (si quieres saber más sobre CIM te invito a que leas esta entrada).

1
Clear-DnsClientCache -CimSession 192.168.168.168

Y hasta aquí la entrada de hoy, ¡espero que con este par de cmdlets os sea más fácil hacer troubleshooting de DNS en el futuro!