Cómo asignar una IP estática en Windows desde CMD o PowerShell

Última actualización: 07/07/2025
Autor: Isaac
  • PowerShell y CMD permiten una configuración de red detallada en Windows
  • El uso de scripts facilita tareas repetitivas y automatiza configuraciones
  • Existen múltiples comandos y herramientas como Netsh, Get-NetIPConfiguration o New-NetIPAddress
  • Además de la IP, se puede configurar DNS, puerta de enlace y nombre del equipo

Asignar IP estática desde CMD o PowerShell

Configurar una dirección IP estática en Windows puede parecer una tarea exclusiva del entorno gráfico, pero lo cierto es que también es posible hacerlo de forma rápida y eficiente desde la línea de comandos. Tanto CMD como PowerShell ofrecen herramientas potentes para modificar la configuración de red de un equipo sin necesidad de navegar por múltiples menús en la interfaz gráfica.

Esta capacidad resulta especialmente útil en servidores, entornos sin interfaz gráfica como Server Core, o tareas de administración remota. A lo largo de este artículo aprenderás cómo asignar direcciones IP estáticas desde CMD o PowerShell, además de explorar alternativas como Netsh y Sconfig, pasando por scripting y automatización.

Configuración de IP mediante PowerShell

PowerShell permite realizar cambios en la configuración de red de forma detallada y rápida. Para comenzar, es fundamental obtener la información actual de las tarjetas de red disponibles. Esto se logra con el siguiente comando:

Get-NetIPConfiguration

Este comando muestra la configuración actual de los interfaces de red. Para obtener información específica de cada adaptador, puedes usar:

Get-NetAdapter

Este proporciona detalles como el nombre del adaptador, la velocidad de conexión o la dirección MAC.

Para establecer una IP estática, es necesario usar el cmdlet:

New-NetIPAddress -IPAddress 192.168.1.101 -InterfaceAlias 'Ethernet' -DefaultGateway 192.168.1.1 -AddressFamily IPv4 -PrefixLength 24

Este comando establece la IP 192.168.1.101 en el adaptador Ethernet, con una máscara 255.255.255.0 y puerta de enlace 192.168.1.1.

En caso de que ya exista una configuración previa, es posible eliminarla con:

Remove-NetIPAddress -IPAddress 192.168.1.101 -DefaultGateway 192.168.1.1

Y para configurar los servidores DNS:

Set-DnsClientServerAddress -InterfaceIndex 12 -ServerAddresses ('8.8.8.8','1.1.1.1')

Uso de scripts en PowerShell para automatizar

Una forma muy eficiente de evitar escribir los comandos cada vez, especialmente útil en despliegues en masa, es usar scripts de PowerShell. Un ejemplo básico sería el siguiente:

  El verdadero significado del valor neto y los ingresos


$direccionip = "192.168.1.101"
$prefijodered = "24"
$puertadeenlacegw = "192.168.1.1"
$dns = @("8.8.8.8", "1.1.1.1")
$interfaz = (Get-NetAdapter).ifIndex

New-NetIPAddress -IPAddress $direccionip -PrefixLength $prefijodered -InterfaceIndex $interfaz -DefaultGateway $puertadeenlacegw
Set-DnsClientServerAddress -InterfaceIndex $interfaz -ServerAddresses $dns

Este script configura la IP y los servidores DNS en bloque, facilitando la gestión en múltiples equipos. Además, puedes incluir en el script un cambio de nombre de equipo:


$nombre = "Servidor01"
Rename-Computer -NewName $nombre -force

Para ejecutar este script, simplemente guárdalo como .ps1 y ejecútalo desde PowerShell con permisos de administrador.

Imágenes del proceso

Este procedimiento puede ser visualizado mejor a través de herramientas gráficas, pero también es posible supervisar desde PowerShell introduciendo comandos como:

Get-NetIPAddress

Test-Connection google.com

El primero muestra IPs configuradas, mientras que el segundo realiza un ping para comprobar la conectividad.

Configuración con Netsh desde CMD o PowerShell

Netsh es una herramienta tradicional y aún útil para configurar la red vía línea de comandos.

Para ver la configuración actual de las interfaces:

netsh interface ipv4 show config

Para establecer una IP estática:

netsh interface ipv4 set address name="Ethernet0" static 192.168.100.6 255.255.255.0 192.168.100.253

Y para configurar DNS primario y secundario:

netsh interface ipv4 set dns name="Ethernet0" static 1.1.1.1

netsh interface ipv4 set dns name="Ethernet0" static 8.8.8.8 index=2

O usando el comando add que es más moderno:

netsh interface ipv4 add dnsserver name="Ethernet0" address=1.1.1.1 index=1

netsh interface ipv4 add dnsserver name="Ethernet0" address=8.8.8.8 index=2

Este método funciona tanto en CMD tradicional como en PowerShell, aunque Netsh puede ser menos flexible que PowerShell para tareas complejas.

Utilidad Sconfig para Server Core

Los servidores Windows Server Core no tienen interfaz gráfica, por lo tanto, se puede usar la herramienta sconfig accesible desde CMD o PowerShell:

Escribe sconfig y pulsa Enter. Se abre un menú interactivo con opciones para cambiar configuración de red, nombre del equipo, unir al dominio, etc.

Para cambiar la IP, selecciona la opción 8 (Configuración de Red), elige la tarjeta deseada y luego presiona la opción 1. Eliges IP estática (s) y completas los datos solicitados: dirección IP, máscara de subred y puerta de enlace.

  ¿Se puede hacer carne de camello en Minecraft? Guía completa sobre el uso del camello en el juego

Después puedes configurar los DNS con la opción 2.

Este método es muy práctico en configuraciones rápidas de servidores.

Utilizando WMI y CIM para configuraciones avanzadas

Windows Management Instrumentation (WMI) y Common Information Model (CIM) son clases que permiten manipular configuraciones desde PowerShell usando métodos detallados. Estas herramientas facilitan tareas complejas y permiten automatizar la administración de red a nivel profundo.

Por ejemplo, para obtener todas las IPs activas:

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

Para ver todas las propiedades:

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

También puedes configurar DNS:

$wql = 'SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled=True'

$args = @{ DnsDomain = 'miempresa.com' }

Invoke-CimMethod -MethodName SetDNSDomain -Arguments $args -Query $wql

Y para liberar o renovar concesiones DHCP:

Invoke-CimMethod -ClassName Win32_NetworkAdapterConfiguration -MethodName ReleaseDHCPLeaseAll

Invoke-CimMethod -ClassName Win32_NetworkAdapterConfiguration -MethodName RenewDHCPLeaseAll

CMD clásico para configuraciones IP

En equipos más antiguos o para usuarios acostumbrados a CMD clásico, puedes hacer uso de la utilidad netsh y otros comandos tradicionales. Estos comandos siguen siendo útiles para tareas rápidas y en entornos donde PowerShell no está disponible o no se desea usar.

  • ipconfig /all: para ver toda la configuración actual.
  • netsh interface ipv4 set address name="Ethernet" source=static address=192.168.1.10 gateway=192.168.1.1: para establecer IP y puerta de enlace.
  • netsh interface ipv4 add dnsserver name="Ethernet" address=8.8.8.8 index=1: para añadir DNS.

Aunque menos flexible que PowerShell, sigue siendo muy útil en entornos de scripting básico y en situaciones donde la compatibilidad es primordial.

Asignar una IP estática en Windows es una tarea esencial en muchos entornos profesionales, sobre todo en servidores y equipos que requieren direcciones fijas para servicios específicos. Como has podido ver, dispones de múltiples herramientas para lograrlo, desde PowerShell y Netsh hasta la utilidad sconfig. Aunque cada método tiene sus ventajas, PowerShell destaca por su capacidad de automatización y profundidad de configuración. Si estás gestionando una red o servidores, dedicar tiempo a dominar estos comandos te ahorrará muchos dolores de cabeza y facilitará administraciones remotas, despliegues y estandarización de entornos.

cómo saber ip privada en windows 11-4
Artículo relacionado:
Cómo saber tu dirección IP privada en Windows 11 con todos los métodos

Deja un comentario