Cómo gestionar interfaces de red en PowerShell: guía completa, práctica y actualizada

Última actualización:
Autor:
  • Gestión integral de adaptadores de red, IP y DNS desde PowerShell
  • Automatización avanzada y diagnóstico usando cmdlets y WMI
  • Configuración dinámica (DHCP) y estática, recursos compartidos y scripting

Gestión de interfaces de red en PowerShell

PowerShell se ha convertido en una herramienta imprescindible para la gestión avanzada de redes en sistemas Windows, tanto en entornos domésticos como empresariales. A través de sus comandos y scripts, es posible manipular adaptadores de red, configurar direcciones IP, gestionar DNS, automatizar tareas rutinarias y resolver problemas de conectividad con una flexibilidad increíble. Es una de esas utilidades que, una vez dominada, multiplica la productividad y la capacidad de administración de cualquier técnico o usuario avanzado.

En esta guía vamos a sumergirnos en la gestión de interfaces de red usando PowerShell, analizando desde los comandos más básicos para visualizar y modificar configuraciones, hasta el uso de WMI y scripts avanzados para labores de diagnóstico, automatización y administración a gran escala. Si alguna vez te has preguntado cómo modificar la IP, reiniciar un adaptador, automatizar la configuración de red o crear recursos compartidos sin depender de asistentes gráficos, aquí encontrarás todo lo necesario, explicado paso a paso, con ejemplos prácticos y consejos útiles. Además, integraremos información de múltiples fuentes especializadas para que tengas a mano todas las opciones disponibles.

cómo unir un equipo a un dominio en windows-3
Artículo relacionado:
Tutorial completo para unir un equipo a un dominio en Windows

¿Por qué usar PowerShell para la gestión de interfaces de red?

PowerShell destaca por su capacidad para automatizar tareas administrativas relacionadas con redes. A diferencia de la configuración manual a través del panel de control o herramientas gráficas, el uso de cmdlets permite ahorrar tiempo, reducir errores y aplicar configuraciones en lotes sobre diferentes dispositivos al instante. Especialmente cuando gestionas múltiples servidores, equipos virtuales o entornos de laboratorio, conocer estos comandos es fundamental.

Con PowerShell puedes:

  • Obtener información detallada de los adaptadores de red y su estado.
  • Configurar direcciones IP, puertas de enlace y servidores DNS de forma rápida y precisa.
  • Automatizar la asignación de direcciones por DHCP o establecer configuraciones fijas adaptadas a cada adaptador.
  • Realizar diagnósticos y solucionar problemas de red sin salir de la línea de comandos.
  • Crear y eliminar recursos compartidos o conectar unidades de red de forma persistente.
  Working Offline With Chromebooks

Configuración de adaptadores de red en PowerShell

Obteniendo información sobre los adaptadores de red

El primer paso al gestionar la red en PowerShell es identificar los adaptadores disponibles y recoger información relevante sobre cada uno. Get-NetAdapter es el cmdlet fundamental para visualizar todos los interfaces físicos y virtuales presentes en el sistema.

Ejecutando:

Get-NetAdapter

se mostrará un listado de adaptadores con su nombre, estado, velocidad y tipo. Si el equipo tiene varias interfaces, cada una se identifica por un índice (InterfaceIndex), nombre (Name/Alias) y dirección MAC.

Para obtener detalles más específicos, puedes usar:

Get-NetAdapter | Select-Object ifIndex, Name, MacAddress

o emplear Get-NetAdapterHardwareInfo para datos sobre hardware, y Get-NetAdapterStatistics para estadísticas de tráfico.

Para consultar la configuración IP actual, usa:

Get-NetIPConfiguration

Este comando muestra la configuración IP actual (IPv4 e IPv6), la puerta de enlace y los servidores DNS asignados a cada interfaz.

Comprobación y modificación de direcciones IP

Uno de los usos más habituales en scripts y gestión remota es configurar direcciones IP fijas. PowerShell permite establecer la IP, máscara de red, puerta de enlace y DNS en pocos comandos.

Para visualizar todas las direcciones IP asignadas:

Get-NetIPAddress | Select-Object InterfaceAlias,IPAddress

Para asignar una nueva dirección IP estática a un adaptador (por nombre o índice), emplea:

New-NetIPAddress -InterfaceIndex 6 -IPAddress 192.168.1.6 -PrefixLength 24 -DefaultGateway 192.168.1.1

En este ejemplo, -InterfaceIndex indica qué adaptador modificar, -IPAddress la IP a asignar, -PrefixLength la máscara de red (24 equivale a 255.255.255.0) y -DefaultGateway la puerta de enlace principal.

También es posible usar el nombre del adaptador (alias):

New-NetIPAddress -InterfaceAlias "Ethernet" -IPAddress 10.0.0.92 -DefaultGateway 10.0.0.254 -AddressFamily IPv4 -PrefixLength 24

Es importante recordar: si realizas cambios de IP remotos, podrás perder la conexión hasta reconectarte con la nueva configuración.

Gestión de servidores DNS con PowerShell

Configurar el servidor DNS es clave para que el sistema resuelva nombres correctamente. PowerShell permite asignar uno o varios servidores DNS a cada adaptador usando Set-DnsClientServerAddress:

Set-DnsClientServerAddress -InterfaceIndex 6 -ServerAddresses "8.8.8.8,8.8.4.4"

Para un solo servidor:

Set-DnsClientServerAddress -InterfaceIndex 6 -ServerAddresses "8.8.8.8"

Para consultar los servidores DNS actualmente configurados:

Get-DnsClientServerAddress

Se puede modificar la configuración en lote o individualmente, según la necesidad.

  Red Ad Hoc ¿Qué Es, Para Qué Sirve Y Cómo Funciona?

Comandos para gestión avanzada y automatización con WMI

WMI (Windows Management Instrumentation) permite acceder a información mucho más detallada y ejecutar acciones avanzadas. Esto resulta muy útil para diagnósticos, administración remota y automatización de tareas complejas.

Por ejemplo, para obtener todas las direcciones IP en uso:

Get-CimInstance -Class Win32_NetworkAdapterConfiguration -Filter IPEnabled=$true | Select-Object -ExpandProperty IPAddress

Este comando consulta la clase Win32_NetworkAdapterConfiguration y extrae las IP activas. Para visualizar todas las propiedades, utiliza:

Get-CimInstance -Class Win32_NetworkAdapterConfiguration -Filter IPEnabled=$true | Format-List *

Para filtrar propiedades específicas, puedes usar:

Get-CimInstance -Class Win32_NetworkAdapterConfiguration -Filter IPEnabled=$true | Select-Object -ExcludeProperty IPX*,WINS*

Gestión de DHCP: habilitación, liberación y renovación

En redes corporativas, gestionar la asignación dinámica de IP (DHCP) desde PowerShell es muy útil. Para verificar qué adaptadores tienen DHCP habilitado:

Get-CimInstance -Class Win32_NetworkAdapterConfiguration -Filter "DHCPEnabled=$true"

O filtrar los que tienen IP y DHCP activos:

Get-CimInstance -Class Win32_NetworkAdapterConfiguration -Filter "IPEnabled=$true and DHCPEnabled=$true"

Para mostrar solo sus propiedades DHCP:

Get-CimInstance -Class Win32_NetworkAdapterConfiguration -Filter "IPEnabled=$true and DHCPEnabled=$true" | Format-Table -Property DHCP*

Para liberar o renovar concesiones DHCP en todo el sistema:

Invoke-CimMethod -ClassName Win32_NetworkAdapterConfiguration -MethodName ReleaseDHCPLeaseAll
Invoke-CimMethod -ClassName Win32_NetworkAdapterConfiguration -MethodName RenewDHCPLeaseAll

Para activar DHCP en adaptadores que aún no lo tengan:

$wql = 'SELECT * from Win32_NetworkAdapterConfiguration WHERE IPEnabled=True and DHCPEnabled=False'
Invoke-CimMethod -MethodName ReleaseDHCPLease -Query $wql

Con Invoke-CimMethod puedes gestionar adaptadores específicos o hacer cambios en toda la red del equipo.

Reiniciar y diagnosticar adaptadores de red en PowerShell

Reiniciar un adaptador puede solucionar problemas de conectividad. Con PowerShell, usa:

Restart-NetAdapter -Name "Ethernet 3"

Para identificar todos los adaptadores:

netsh interface show interface

Y reiniciar el que necesites. También puedes hacerlo vía WMIC:

wmic nic get name, index
wmic path win32_networkadapter where index=X call disable
wmic path win32_networkadapter where index=X call enable

Donde X es el índice del adaptador.

Creación, eliminación y gestión de recursos compartidos en red

PowerShell permite gestionar recursos compartidos de red con mayor flexibilidad:

Para crear una carpeta compartida:

Invoke-CimMethod -ClassName Win32_Share -MethodName Create -Arguments @{ Path = 'C:\temp'; Name = 'TempShare'; Type = 0; MaximumAllowed = 25; Description = 'test share of the temp folder' }

Para eliminar un recurso compartido:

$wql = 'SELECT * from Win32_Share WHERE Name="TempShare"'
Invoke-CimMethod -MethodName Delete -Query $wql

Y para conectar una unidad de red persistente, en algunos casos puede ser útil activar el modo tableta en Windows 11, aunque en este contexto sería más adecuado usar el comando directamente en PowerShell.

New-PSDrive -Persist -Name "X" -PSProvider "FileSystem" -Root "\\Server01\Public"

O solo en la sesión actual de PowerShell, sin persistir rastros:

New-PSDrive -Name "X" -PSProvider "FileSystem" -Root "\\Server01\Public"
¿Qué smartphone usa Elon Musk?-1
Artículo relacionado:
¿Qué smartphone usa Elon Musk en 2025? Este es el modelo que ha elegido

Visualización y administración de rutas, firewall y componentes adicionales

También puedes gestionar rutas, firewall y otros componentes con PowerShell:

  • Visualizar y gestionar rutas locales: con Get-NetRoute.
  • Controlar el firewall de Windows: mediante Get-NetFirewallRule y Set-NetFirewallRule.
  The best way to Conceal Images on Mac Images App

Además, existen comandos para administrar el cliente DNS, modificar configuraciones TCP/IP (Get-NetTCPSetting), gestionar conexiones y puertos (Get-NetTCPConnection, Get-NetUDPEndpoint) y diagnosticar la pila TCP/IP.

Diagnóstico y pruebas de conectividad (Ping y más)

Para comprobar la conectividad con otros equipos o servicios en la red, PowerShell ofrece herramientas avanzadas de ping:

Get-CimInstance -Class Win32_PingStatus -Filter "Address='127.0.0.1'" | Format-Table -Property Address,ResponseTime,StatusCode -Autosize

Este comando proporciona detalles como dirección, tiempo de respuesta y código de estado. Para hacer ping a múltiples destinos simultáneamente:

'127.0.0.1','localhost','bing.com' | ForEach-Object { Get-CimInstance -Class Win32_PingStatus -Filter "Address='$_'" | Select-Object Address,ResponseTime,StatusCode }

También es posible automatizar la exploración de toda una subred para identificar hosts disponibles, facilitando tareas de soporte y administración.

Deja un comentario