10 comandos cmdlets de PowerShell para acelerar la resolución de problemas de red

A medida que Microsoft lanza versiones más nuevas de sus sistemas operativos tanto destinados a los usuarios y servidores Windows, continúa duplicando el desarrollo de PowerShell (PS), que es el marco desarrollado para administrar sistemas y automatizar algunas tareas. Con su lista de comandos en constante expansión, llamada cmdlets, PowerShell está lista para ayudarte a configurar casi cualquier configuración que se encuentre dentro de Windows.

Mientras que PowerShell tiene una gran cantidad de cmdlets, afortunadamente la mayoría se agrupan según la funcionalidad o el servicio que administran. A los efectos de este artículo, los cmdlets que pertenecen a la administración de configuraciones basadas en red se encuentran todos dentro del marco base de PowerShell.

Antes de sumergirse en los cmdlets, existen algunos requisitos que deben cumplirse para garantizar que todos los cmdlets estén disponibles y sean totalmente compatibles:

  • PC con Windows Vista instalado (o más nuevo)
  • Windows Management Framework 3.0 (o más reciente)
  • Red conmutada (requerida para que la mayoría de los cmdlets funcionen correctamente)
  • Acceso a internet de banda ancha (opcional, pero recomendado)

1. Hacer ping a los dispositivos de forma local o remota

El comando Test-NetConnection ofrece varias formas de probar la conectividad de red en LAN y WAN. Ingrese el siguiente comando y el ordenador esencialmente realizará un ping para determinar si existe conectividad de red entre el dispositivo local y la computadora o dominio de destino.

Test-NetConnection -ComputerName "Hostname o IP"

2. Verificar la conectividad según el puerto o servicio

Otra característica del comando Test-NetConnection es la capacidad de probar la conectividad entre el dispositivo local y el host de destino especificando un número de puerto. Esto es extremadamente útil para probar servicios entre dispositivos y los puertos en los que se comunican específicamente.

Test-NetConnection "Hostname" -Port #

3. Comunicaciones de Traceroute

Realizar un Traceroute para determinar cuántos saltos (o pasos) debe pasar un paquete para llegar desde el origen hasta su destino es una herramienta importante, ya que le permite ver a dónde va la transmisión y, más importante, si fue exitoso. Si no fuera así, la ruta de rastreo indicará dónde falló el paquete a lo largo de la ruta.

Test-NetConnection "Hostname" -traceroute

4. Obtener los detalles de configuración de IP

De forma similar al comando ipconfig, el comando Get-NetIPConfiguration proporciona una vista integral de las configuraciones de red configuradas en los adaptadores de red de una computadora. Las direcciones de IP, DNS y Gateway se muestran y ordenan por nombre de adaptador.

Get-NetIPConfiguration

5. Realizar búsquedas de DNS

Podría decirse que la columna vertebral de una red es el servicio DNS. Sin él, los usuarios se verían obligados a conocer las direcciones IP de todos los sitios web y servicios. Y sin embargo, cuando surgen problemas de conectividad, el DNS suele ser el culpable después de descartar los errores relacionados con la PI. Al agregar el parametro "-server", seguido de la dirección IP de un servidor DNS, puedes realizar una solicitud de resolución DNS contra un servidor específico para verificar que la resolución funciona correctamente.

Resolve-DnsName -Name "Hostname"

6. Ver conexiones TCP actuales

Al igual que netstat antes, el cmdlet Get-NetTCPConnection permite ver las conexiones TCP actuales que se han realizado desde y hacia un dispositivo, así como conexiones abiertas o de escucha. Esto le ayuda a solucionar problemas relacionados con IP y puertos, específicamente aquellos vinculados a ciertos servicios de red.

Get-NetTCPConnection

7. Ver y configurar información de DNS

Este cmdlet le permite verificar la información del cliente DNS para un dispositivo. Indicará qué servidores DNS están usando el dispositivo para realizar resoluciones de direcciones configuradas en múltiples adaptadores. El cmdlet Set-DnsClientServerAddress permite agregar servidores DNS especificados a la configuración de red.

Get-DnsClient

Set-DnsClientServer Address

8. Vaciar caché de DNS

La memoria caché de DNS ayuda a mantener registros de resolución DNS a menudo almacenados localmente en un dispositivo, lo que le permite leer ese registro en lugar de realizar una búsqueda cada vez que se solicita un registro. Esto ayuda a acelerar el proceso de resolución que ya es rápido. Si los registros obsoletos, o aquellos que no han sido actualizados, están presentes, esto podría conducir a un mal rendimiento de la red, denegación de servicio o problemas de seguridad que buscan explotar los registros incorrectos que señalan las solicitudes de los usuarios al servidor / servicio incorrecto.

Clear-DnsClientCache

9. Liberar y renovar concesiones de DHCP

Aunque PowerShell incluye muchos cmdlets para administrar la configuración de red, no hay una forma directa de liberar / renovar concesiones de DHCP sin hacer referencia primero a otro cmdlet, y luego canalizar los resultados a un segundo o tercer cmdlet para poder modificar la configuración de DHCP. Sin embargo, al aprovechar Invoke-Command, puede realizar una versión y / o renovar de forma remota (o mediante script) invocando el comando ipconfig.

Invoke-Command -ComputerName -ScriptBlock {ipconfig /release}

Invoke-Command -ComputerName -ScriptBlock {ipconfig /renew}

10. Deshabilitar y habilitar los adaptadores de red

Por último, pero no menos importante, es el cmdlet para deshabilitar / habilitar adaptadores de red en un dispositivo. Aunque no es un método tan sofisticado para solucionar problemas de red como los cmdlets enumerados anteriormente, como cualquier profesional de TI le dirá, a veces lo único que tiene que hacer para resolver un problema de red es apagarlo y volver a encenderlo.

Disable-NetAdapter -Name "Adapter Name"

Enable-NetAdapter -Name "Adapter Name"