Seleccionar Página

Administrar la red desde la interfaz gráfica de Windows está bien… hasta que necesitas hacerlo rápido, documentarlo, repetirlo en varios equipos o diagnosticar un problema sin perder media mañana entrando en menús. Aquí PowerShell deja de ser “la consola esa azul” y se convierte en una navaja suiza bastante seria.

En esta entrada vamos a ver cómo consultar las conexiones de red de un portátil con Windows 11, identificar la conexión principal, ver la IP actual, cambiar la configuración IP, renovar DHCP, probar conectividad y hacer diagnósticos básicos.

1. Abrir PowerShell como administrador

Para muchas consultas no hace falta elevar permisos, pero para cambiar IP, DNS o reiniciar adaptadores sí.

Haz clic derecho sobre el botón de inicio y selecciona Terminal de Windows (Administrador) o busca PowerShell y ejecútalo como administrador.

2. Ver los adaptadores de red disponibles

Lo primero es saber qué tarjetas de red tiene el equipo y cuáles están activas:

Get-NetAdapter

Ejemplo de salida:

Name                      InterfaceDescription                    Status
----                      --------------------                    ------
Wi-Fi                     Intel(R) Wi-Fi 6 AX201                  Up
Ethernet                  Realtek PCIe GbE Family Controller      Disconnected
Bluetooth Network         Bluetooth Device                        Disconnected

Aquí nos interesa especialmente la columna Status. Si queremos ver solo los adaptadores activos:

Get-NetAdapter | Where-Object {$_.Status -eq "Up"}

3. Ver la IP actual del equipo

Para ver las direcciones IP asignadas:

Get-NetIPAddress

La salida puede ser bastante grande, así que podemos filtrarla para ver solo IPv4:

Get-NetIPAddress -AddressFamily IPv4

Una forma más limpia:

Get-NetIPAddress -AddressFamily IPv4 |
Select-Object InterfaceAlias,IPAddress,PrefixLength

Ejemplo:

InterfaceAlias   IPAddress       PrefixLength
--------------   ---------       ------------
Wi-Fi            192.168.1.45    24
Loopback         127.0.0.1       8

La IP 127.0.0.1 es la dirección local del propio equipo, no nos interesa para conexión real a red.

4. Ver la conexión principal del portátil

Un portátil puede tener Wi-Fi, Ethernet, VPN y adaptadores virtuales. La pregunta importante es: ¿por dónde está saliendo realmente el equipo a la red?

Podemos verlo consultando la ruta por defecto:

Get-NetRoute -DestinationPrefix "0.0.0.0/0"

Para verlo más claro:

Get-NetRoute -DestinationPrefix "0.0.0.0/0" |
Sort-Object RouteMetric |
Select-Object InterfaceAlias,NextHop,RouteMetric,InterfaceMetric

Ejemplo:

InterfaceAlias   NextHop        RouteMetric   InterfaceMetric
--------------   -------        -----------   ---------------
Wi-Fi            192.168.1.1    0             50

Esto nos dice que la conexión principal sale por Wi-Fi y que la puerta de enlace es 192.168.1.1.

También podemos obtener directamente la IP principal usada para salir a Internet con este truco:

(Get-NetIPConfiguration | Where-Object {$_.IPv4DefaultGateway -ne $null}).IPv4Address.IPAddress

5. Ver configuración completa de red

Para ver IP, puerta de enlace y DNS de cada adaptador:

Get-NetIPConfiguration

Más filtrado para adaptadores con puerta de enlace:

Get-NetIPConfiguration |
Where-Object {$_.IPv4DefaultGateway -ne $null}

Esto suele mostrar la conexión realmente activa.

6. Ver los servidores DNS configurados

Get-DnsClientServerAddress

Solo IPv4:

Get-DnsClientServerAddress -AddressFamily IPv4

Para un adaptador concreto:

Get-DnsClientServerAddress -InterfaceAlias "Wi-Fi" -AddressFamily IPv4

7. Cambiar la IP de un adaptador

Antes de tocar nada, identifica bien el nombre del adaptador:

Get-NetAdapter

Supongamos que el adaptador se llama Wi-Fi.

Configurar una IP fija

New-NetIPAddress `
-InterfaceAlias "Wi-Fi" `
-IPAddress 192.168.1.50 `
-PrefixLength 24 `
-DefaultGateway 192.168.1.1

Aquí:

  • 192.168.1.50 es la IP que queremos asignar.
  • 24 equivale a máscara 255.255.255.0.
  • 192.168.1.1 es la puerta de enlace.

Cuidado: si eliges una IP ya usada por otro equipo, te estarás fabricando una avería con la elegancia de un ladrillo en una cristalería.

8. Cambiar los DNS

Por ejemplo, para usar Cloudflare:

Set-DnsClientServerAddress `
-InterfaceAlias "Wi-Fi" `
-ServerAddresses ("1.1.1.1","1.0.0.1")

Para usar Google DNS:

Set-DnsClientServerAddress `
-InterfaceAlias "Wi-Fi" `
-ServerAddresses ("8.8.8.8","8.8.4.4")

Para usar los DNS del router o de DHCP otra vez:

Set-DnsClientServerAddress `
-InterfaceAlias "Wi-Fi" `
-ResetServerAddresses

9. Volver a DHCP

Si el portátil debe recibir IP automáticamente desde el router o servidor DHCP:

Set-NetIPInterface `
-InterfaceAlias "Wi-Fi" `
-Dhcp Enabled

Después reseteamos DNS para que también se obtengan automáticamente:

Set-DnsClientServerAddress `
-InterfaceAlias "Wi-Fi" `
-ResetServerAddresses

Y renovamos dirección:

ipconfig /release
ipconfig /renew

También podemos hacerlo con PowerShell, pero ipconfig sigue siendo rápido y útil.

10. Eliminar una IP fija configurada previamente

Si hemos configurado una IP fija y queremos eliminarla:

Remove-NetIPAddress `
-InterfaceAlias "Wi-Fi" `
-IPAddress 192.168.1.50

Si también queremos eliminar la puerta de enlace:

Remove-NetRoute `
-InterfaceAlias "Wi-Fi" `
-DestinationPrefix "0.0.0.0/0"

Después podemos volver a DHCP:

Set-NetIPInterface -InterfaceAlias "Wi-Fi" -Dhcp Enabled
Set-DnsClientServerAddress -InterfaceAlias "Wi-Fi" -ResetServerAddresses

11. Activar o desactivar un adaptador de red

Desactivar Wi-Fi:

Disable-NetAdapter -Name "Wi-Fi" -Confirm:$false

Activarlo de nuevo:

Enable-NetAdapter -Name "Wi-Fi"

Esto es útil cuando un adaptador se queda “tonto”, que es el término técnico no oficial para “Windows dice que todo está bien, pero no funciona nada”.

12. Reiniciar un adaptador de red

Podemos hacer un reinicio rápido del adaptador:

Restart-NetAdapter -Name "Wi-Fi"

Si PowerShell no reconoce Restart-NetAdapter, podemos hacer:

Disable-NetAdapter -Name "Wi-Fi" -Confirm:$false
Start-Sleep -Seconds 3
Enable-NetAdapter -Name "Wi-Fi"

13. Probar conectividad básica

Hacer ping al router

Test-Connection 192.168.1.1

O con el comando clásico:

ping 192.168.1.1

Si responde el router, la red local funciona.

Probar salida a Internet

Test-Connection 8.8.8.8

Si responde 8.8.8.8 pero no responde una web por nombre, probablemente el problema está en DNS.

Probar resolución DNS

Resolve-DnsName google.com

También podemos probar:

nslookup google.com

14. Probar un puerto concreto

Para comprobar si un servidor responde por un puerto específico:

Test-NetConnection google.com -Port 443

Ejemplo para probar SQL Server:

Test-NetConnection 192.168.1.100 -Port 1433

Ejemplo para probar escritorio remoto:

Test-NetConnection 192.168.1.100 -Port 3389

Ejemplo para probar una web:

Test-NetConnection robirasdesign.com -Port 443

La parte importante de la salida es:

TcpTestSucceeded : True

Si aparece False, no hay conexión TCP al puerto indicado. Puede ser firewall, servicio parado, ruta incorrecta, DNS, NAT o el clásico “nadie ha encendido el servidor”.

15. Ver la tabla de rutas

Para ver todas las rutas de red:

Get-NetRoute

Para ver solo la ruta por defecto:

Get-NetRoute -DestinationPrefix "0.0.0.0/0"

Esto es muy útil cuando hay VPNs, adaptadores virtuales o varias conexiones activas.

16. Ver conexiones activas

Para ver conexiones TCP activas:

Get-NetTCPConnection

Para filtrar conexiones establecidas:

Get-NetTCPConnection -State Established

Para ver conexiones hacia un puerto concreto, por ejemplo HTTPS:

Get-NetTCPConnection -RemotePort 443

Si queremos cruzarlo con procesos:

Get-NetTCPConnection -State Established |
Select-Object LocalAddress,LocalPort,RemoteAddress,RemotePort,State,OwningProcess

Y para saber qué proceso es:

Get-Process -Id 1234

Sustituye 1234 por el valor de OwningProcess.

17. Ver perfiles de red

Windows clasifica las redes como públicas o privadas. Esto afecta al firewall:

Get-NetConnectionProfile

Ejemplo:

Name             : MiWifi
InterfaceAlias   : Wi-Fi
NetworkCategory  : Private

Cambiar una red a privada:

Set-NetConnectionProfile `
-InterfaceAlias "Wi-Fi" `
-NetworkCategory Private

Cambiarla a pública:

Set-NetConnectionProfile `
-InterfaceAlias "Wi-Fi" `
-NetworkCategory Public

En redes de empresa o redes no confiables, no conviene marcar todo como privado por comodidad. La comodidad en seguridad suele venir con factura, y no barata.

18. Limpiar caché DNS

Si un nombre resuelve mal o se ha cambiado un registro DNS recientemente:

Clear-DnsClientCache

También puedes consultar la caché actual:

Get-DnsClientCache

19. Renovar IP y limpiar configuración rápida

Comandos clásicos que siguen salvando vidas:

ipconfig /all
ipconfig /release
ipconfig /renew
ipconfig /flushdns

ipconfig /all sigue siendo de las formas más rápidas de ver toda la configuración de red.

20. Script rápido de diagnóstico de red

Este pequeño script muestra información útil de un vistazo:

Write-Host "=== Adaptadores activos ===" -ForegroundColor Cyan
Get-NetAdapter | Where-Object {$_.Status -eq "Up"} |
Select-Object Name, InterfaceDescription, Status, LinkSpeed

Write-Host "`n=== Configuración IP principal ===" -ForegroundColor Cyan
Get-NetIPConfiguration |
Where-Object {$_.IPv4DefaultGateway -ne $null} |
Select-Object InterfaceAlias, IPv4Address, IPv4DefaultGateway, DNSServer

Write-Host "`n=== Ruta por defecto ===" -ForegroundColor Cyan
Get-NetRoute -DestinationPrefix "0.0.0.0/0" |
Sort-Object RouteMetric |
Select-Object InterfaceAlias, NextHop, RouteMetric, InterfaceMetric

Write-Host "`n=== Prueba de conexión al router ===" -ForegroundColor Cyan
$gateway = (Get-NetIPConfiguration | Where-Object {$_.IPv4DefaultGateway -ne $null}).IPv4DefaultGateway.NextHop
if ($gateway) {
    Test-Connection $gateway -Count 2
} else {
    Write-Host "No se ha encontrado puerta de enlace." -ForegroundColor Yellow
}

Write-Host "`n=== Prueba de conexión a Internet por IP ===" -ForegroundColor Cyan
Test-Connection 8.8.8.8 -Count 2

Write-Host "`n=== Prueba DNS ===" -ForegroundColor Cyan
Resolve-DnsName google.com

21. Script para mostrar la IP principal

Si solo queremos ver la IP principal del equipo:

$conexionPrincipal = Get-NetIPConfiguration |
Where-Object {$_.IPv4DefaultGateway -ne $null} |
Select-Object -First 1

$conexionPrincipal.IPv4Address.IPAddress

Versión con más información:

$conexionPrincipal = Get-NetIPConfiguration |
Where-Object {$_.IPv4DefaultGateway -ne $null} |
Select-Object -First 1

[PSCustomObject]@{
    Adaptador       = $conexionPrincipal.InterfaceAlias
    IP              = $conexionPrincipal.IPv4Address.IPAddress
    Gateway         = $conexionPrincipal.IPv4DefaultGateway.NextHop
    DNS             = ($conexionPrincipal.DNSServer.ServerAddresses -join ", ")
}

22. Script para cambiar IP fácilmente

Ejemplo parametrizado:

$InterfaceAlias = "Wi-Fi"
$IPAddress      = "192.168.1.50"
$PrefixLength   = 24
$Gateway        = "192.168.1.1"
$DNS            = @("1.1.1.1", "8.8.8.8")

New-NetIPAddress `
-InterfaceAlias $InterfaceAlias `
-IPAddress $IPAddress `
-PrefixLength $PrefixLength `
-DefaultGateway $Gateway

Set-DnsClientServerAddress `
-InterfaceAlias $InterfaceAlias `
-ServerAddresses $DNS

Antes de ejecutarlo, conviene comprobar que la IP no responde:

Test-Connection 192.168.1.50 -Count 2

Que no responda no garantiza al 100% que esté libre, pero si responde, desde luego no deberías usarla.

23. Script para volver a automático

$InterfaceAlias = "Wi-Fi"

Set-NetIPInterface `
-InterfaceAlias $InterfaceAlias `
-Dhcp Enabled

Set-DnsClientServerAddress `
-InterfaceAlias $InterfaceAlias `
-ResetServerAddresses

ipconfig /release
ipconfig /renew

24. Diagnóstico básico según el síntoma

Caso 1: No tengo red

  • Comprueba adaptador: Get-NetAdapter
  • Comprueba IP: Get-NetIPAddress -AddressFamily IPv4
  • Comprueba puerta de enlace: Get-NetIPConfiguration

Caso 2: Tengo red local, pero no Internet

  • Prueba router: Test-Connection 192.168.1.1
  • Prueba Internet por IP: Test-Connection 8.8.8.8

Si el router responde pero 8.8.8.8 no, puede haber problema de salida a Internet, router, firewall o proveedor.

Caso 3: Internet funciona por IP, pero no por nombre

  • Prueba DNS: Resolve-DnsName google.com
  • Limpia caché: Clear-DnsClientCache
  • Cambia DNS temporalmente: Set-DnsClientServerAddress

Caso 4: Una web no abre

  • Prueba resolución: Resolve-DnsName dominio.com
  • Prueba puerto 443: Test-NetConnection dominio.com -Port 443
  • Prueba ruta: tracert dominio.com

Caso 5: No conecta una VPN o aplicación concreta

  • Mira rutas: Get-NetRoute
  • Mira conexiones activas: Get-NetTCPConnection -State Established
  • Prueba puerto: Test-NetConnection servidor.empresa.local -Port 443

25. Comandos imprescindibles resumidos

Acción Comando
Ver adaptadores Get-NetAdapter
Ver IPs Get-NetIPAddress -AddressFamily IPv4
Ver configuración completa Get-NetIPConfiguration
Ver DNS Get-DnsClientServerAddress
Ver ruta principal Get-NetRoute -DestinationPrefix "0.0.0.0/0"
Cambiar IP New-NetIPAddress
Activar DHCP Set-NetIPInterface -Dhcp Enabled
Cambiar DNS Set-DnsClientServerAddress
Limpiar DNS Clear-DnsClientCache
Probar ping Test-Connection
Probar puerto Test-NetConnection
Ver conexiones TCP Get-NetTCPConnection
Reiniciar adaptador Restart-NetAdapter

Conclusión

PowerShell permite administrar y diagnosticar conexiones de red en Windows 11 de forma rápida, precisa y repetible. Para soporte técnico, administración de sistemas o simplemente para entender qué está pasando en un portátil, estos comandos son mucho más potentes que depender únicamente de la interfaz gráfica.

La idea no es memorizarlo todo. La idea es tener una pequeña caja de herramientas: ver adaptadores, identificar la conexión principal, revisar IP/DNS/gateway, probar conectividad y cambiar configuración cuando sea necesario.

Con eso ya puedes diagnosticar la mayoría de problemas habituales de red sin ir dando palos de ciego. Y eso, en soporte, vale oro con cable RJ45.