- 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
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:
$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.
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.
Redactor apasionado del mundo de los bytes y la tecnología en general. Me encanta compartir mis conocimientos a través de la escritura, y eso es lo que haré en este blog, mostrarte todo lo más interesante sobre gadgets, software, hardware, tendencias tecnológicas, y más. Mi objetivo es ayudarte a navegar por el mundo digital de forma sencilla y entretenida.