https://esgeeks.com/?p=4790
10 cmdlets de PowerShell para Resolver Problemas de Red
5 (100%) 10 votos

Los cmdlets de PowerShell correctos pueden ayudarte a identificar problemas de red y resolver problemas de conectividad de manera rápida y sencilla. Aquí hay 10 para empezar.

A medida que Microsoft lanza nuevas versiones de sus sistemas operativos de cliente y servidor Windows, continúa ampliando el uso de PowerShell (PS), el marco desarrollado para la gestión de sistemas y la automatización. Con su lista de comandos en constante expansión, llamados cmdlets, PS está preparado para ayudarte a realizar casi cualquier configuración que se encuentre en Windows.

Si bien PS cuenta con 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 la configuración basada en la red se encuentran dentro del marco de trabajo de PowerShell.

TE VA A INTERESAR:


Antes de sumergirte en los cmdlets, se deben cumplir algunos requisitos para garantizar que todos los cmdlets estén disponibles y sean totalmente compatibles:

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

1. Ping a dispositivos locales o remotos

Test-NetConnection -ComputerName "Hostname o IP"
Ping a dispositivos con PowerShell

Ping a dispositivos con PowerShell

El cmdlet Test-NetConnection ofrece varias formas de probar la conectividad de la red en la LAN y la WAN. Ingresa el comando como se escribió anteriormente y la computadora esencialmente realizará un ping para determinar si existe conectividad de red entre el dispositivo local y la computadora o dominio de destino.

2. Verificar conectividad basada en puerto o servicio

Test-NetConnection "Hostname" -Port #
Verificar conectividad por puerto con PowerShell

Verificar conectividad por puerto con PowerShell

Otra característica del cmdlet 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.

3. Rastrear las comunicaciones de ruta

Test-NetConnection "Hostname" -traceroute
Comunicaciones traceroute con PowerShell

Comunicaciones traceroute con PowerShell

Realizar un trace route para determinar la cantidad de saltos (o pasos) que debe atravesar un paquete para llegar desde el origen a su destino es una herramienta importante, ya que te permite ver hacia dónde se dirige la transmisión y, lo que es más importante, si fue exitoso. Si no fue así, la ruta de rastreo indicará dónde falló el paquete a lo largo de la ruta.

4. Obtener detalles de configuración de IP

Get-NetIPConfiguration
Ver detalles de configuración IP con PowerShell

Ver detalles de configuración IP con PowerShell

Similar al comando ipconfig, el cmdlet Get-NetIPConfiguration proporciona una vista holística de las configuraciones de red establecidas en los adaptadores de red de una computadora. Las direcciones de IP, DNS y puerta de enlace se muestran y ordenan por nombre de adaptador.

5. Realizar una resolución de consulta de nombre DNS

Resolve-DnsName -Name "Hostname"
Realizar resolución de consulta de nombre DNS con PowerShell

Realizar resolución de consulta de nombre DNS con PowerShell

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 errores relacionados con IP. Al agregar el parámetro -server, seguido de la dirección IP de un servidor DNS, TI puede realizar una solicitud de resolución de DNS contra un servidor específico para verificar que la resolución funciona correctamente.


6. Ver las conexiones TCP actuales

Get-NetTCPConnection
Get-NetTCPConnection -State Established #Obtener conexiones establecidas
Get-NetTCPConnection -AppliedSetting Internet #Obtener conexiones TCP de Internet
Ver conexiones TCP actuales con PowerShell

Ver conexiones TCP actuales con PowerShell

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

7. Ver y configurar información de DNS

Get-DnsClient
Get-DnsClientServerAddress
Set-DnsClientServerAddress
Ver información DNS con PowerShell

Ver información DNS con PowerShell

Este cmdlet te permite verificar la información del cliente DNS para un dispositivo. Indicará qué servidores DNS está utilizando el dispositivo para realizar las resoluciones de direcciones tal como están configurados en varios adaptadores. El cmdlet Set-DnsClientServerAddress permite agregar servidores DNS específicos a la configuración de la red.

8. Vaciar caché de DNS

Clear-DnsClientCache
Vaciar caché DNS con PowerShell

Vaciar caché DNS con PowerShell

El caché de DNS ayuda a mantener los registros de resolución de DNS utilizados con frecuencia 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 ya rápido.

Si los registros obsoletos, o aquellos que no se han actualizado, están presentes, esto podría llevar a un rendimiento deficiente de la red, a la denegación de servicio o a problemas de seguridad que intenten explotar registros incorrectos que apuntan las solicitudes de los usuarios al servidor/servicio equivocado.

9. Liberar y renovar arrendamiento DHCP

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

Liberar y renovar direcciones IP con PowerShell

Si bien PowerShell incluye muchos cmdlets para administrar la configuración de la red, no hay una forma directa de liberar/renovar las direcciones IP sin hacer referencia a otro cmdlet primero, luego canalizar los resultados a un segundo o tercer cmdlet para poder modificar la configuración de DHCP. Sin embargo, al aprovechar el Invoke-Command, puedes realizar una liberación y/o renovación de forma remota (o a través de un script) llamando al comando ipconfig.

Gestionando DHCP desde PowerShell: [si lo anterior no funciona]

  • Habilitando DHCP
Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Filter IPEnabled=true -ComputerName . | ForEach-Object -Process {$_.InvokeMethod("EnableDHCP", $null)}
  • Liberación y renovación de arrendamientos DHCP en todos los adaptadores
(Get-WmiObject -List | Where-Object -FilterScript {$_.Name -eq "Win32_NetworkAdapterConfiguration"}).InvokeMethod("ReleaseDHCPLeaseAll", $null)
(Get-WmiObject -List | Where-Object -FilterScript {$_.Name -eq "Win32_NetworkAdapterConfiguration"}).InvokeMethod("RenewDHCPLeaseAll", $null)

10. Deshabilitar y habilitar adaptadores de red

Disable-NetAdapter -Name "Nombre del adaptador"
Enable-NetAdapter -Name "Nombre del adaptador"
Deshabilitar y habilitar adaptadores de red con PowerShell

Deshabilitar y habilitar adaptadores de red con PowerShell

Por último, pero ciertamente no menos importante, está el cmdlet para deshabilitar/habilitar adaptadores de red en un dispositivo. Si bien no es un método tan sofisticado para solucionar problemas de red como los cmdlets enumerados anteriormente, como cualquier profesional de TI te dirá, a veces lo único que debe hacer para resolver un problema basado en la red es apagarlo y encenderlo nuevamente.

¡Si te ha sido útil este artículo, por favor compártelo con los demás! :’)


¡Mantente actualizado!

Suscríbete a nuestro boletín semanal...

Suscríbete a nuestro boletín electrónico para recibir artículos útiles y ofertas especiales. No te perderás absolutamente de nada!

Enviaremos solamente boletines al email y no compartiremos tu email.