Configurar las funciones de red en Windows Server 2022 con PowerShell

Publicado por P. Ruiz en

Hace unos días aprendimos a Configurar las funciones de red en Windows Server 2022 sin escritorio usando sconfig.cmd. Sin embargo, esta misma tarea la podemos completar usando directamente la línea de comandos, a través de los cmdlets de PowerShell.

La ventaja de este método es que lo podemos hacer desde las versiones de Windows Server 2022 con escritorio y sin escritorio. Además, podremos crear fácilmente un script que lo automatice.

Si te encuentras en Windows Server 2022 con Experiencia de escritorio, puedes abrir fácilmente la ventana de terminal usando la combinación de teclas Windows + R y, escribiendo el siguiente comando en la ventana que aparece:

powershell

… Y hacemos clic sobre el botón Aceptar, o pulsamos la tecla Intro.

Configurar-las-funciones-de-red-en-Windows-Server-2022-con-PowerShell-001

La misma orden te servirá si estás ejecutando Windows Server en modo texto, pero te encuentras en la consola tradicional.

En la mayoría de los casos, Windows Server ya se encontrará en la línea de comandos de PowerShell o en SConfig, que en esta versión se ejecuta de forma predeterminada cuando inicias sesión con la cuenta de Administrador.

En este último caso, te recomiendo salir de SConfig, para volver a la línea de comandos de PowerShell.

Lo conseguirás eligiendo la opción 15 del menú y pulsando la tecla Intro.

Configurar-las-funciones-de-red-en-Windows-Server-2022-con-PowerShell-002

Sabrás que estás en el lugar adecuado porque aparecen las letras PS al principio del prompt del sistema.

Lo siguiente será consultar qué adaptadores de red tiene nuestro equipo. Algo tan sencillo como utilizar el siguiente cmdlet:

Get-NetAdapter

Escribimos el cmdlet y pulsamos la tecla Intro.

Configurar-las-funciones-de-red-en-Windows-Server-2022-con-PowerShell-003

Como ves en la imagen siguiente, la información que obtenemos es bastante escasa.

Aún así, es suficiente para permitirnos conocer el índice que identifica al adaptador.

Configurar-las-funciones-de-red-en-Windows-Server-2022-con-PowerShell-004

Si disponemos de varios adaptadores, cada uno quedará identificado por un índice diferente, lo que nos permitirá indicar, a continuación, a qué adaptador de red nos referimos cuando fijemos los nuevos valores.

Para obtener más información sobre los adaptadores de red, podemos añadir argumentos al cmdlet anterior. Puedes consultar la sintaxis completa en este enlace: https://docs.microsoft.com/en-us/powershell/module/netadapter/get-netadapter?view=win10-ps.

Lo siguiente que haremos será fijar los valores para la dirección IP, la máscara de subred y la puerta de enlace. Algo tan sencillo como escribir el siguiente cmdlet:

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

Como puedes imaginar, el argumento -InterfaceIndex identifica al adaptador sobre el que vamos a actuar, -IPAddress establece la nueva dirección IP,  -PrefixLength indica la máscara de subred y -DefaultGateway la puerta de enlace.

También en este caso puedes obtener más información sobre la sintaxis en el siguiente enlace: https://docs.microsoft.com/en-us/powershell/module/nettcpip/set-netipaddress?view=win10-ps.

De nuevo, escribimos el cmdlet y pulsamos la tecla Intro.

Configurar-las-funciones-de-red-en-Windows-Server-2022-con-PowerShell-005

La salida del cmdlet nos muestra que la asignación ha resultado satisfactoria.

Configurar-las-funciones-de-red-en-Windows-Server-2022-con-PowerShell-006

Después de esto, sólo nos quedará establecer el servidor o los servidores DNS que vamos a utilizar. En nuestro caso, para mantener el paralelismo con el ejemplo de uso de sconfig.cmd sólo asignaremos un valor, pero si necesitas asignar varios, sólo tienes que escribirlos separados por una coma.

En definitiva, deberemos usar el cmdlet Set-DNSClientServerAddress con la siguiente sintaxis:

Set-DNSClientServerAddress –InterfaceIndex “6” -ServerAddresses “8.8.8.8”

Como antes, el argumento -InterfaceIndex identifica al adaptador sobre el que vamos a actuar. Por su parte, el argumento -ServerAddresses  indica la dirección IP del ordenador que actuará como servidor DNS.

Para consultar la sintaxis de Set-DNSClientServerAddress puedes recurrir al siguiente enlace: https://docs.microsoft.com/lb-lu/powershell/module/dnsclient/set-dnsclientserveraddress?view=winserver2012-ps.

Un vez más, escribimos el cmdlet y pulsamos la tecla Intro.

Configurar-las-funciones-de-red-en-Windows-Server-2022-con-PowerShell-007

Aunque no vamos a incluirlos en este artículo, existen dos cmdlets más, que pueden resultarte útiles cuando estés configurando la red desde la línea de comandos. Sobre todo, cuando quieres limpiar una configuración previa antes de realizar la nueva.

Son estos:

    • Remove-NetIPAddress: Elimina una dirección IP y toda su configuración. De forma predeterminada, el cmdlet elimina tanto la configuración IPv4 como IPv6. En nuestro ejemplo, podríamos usar algo como esto:

      Remove-NetIPAddress -InterfaceIndex "6"
    • Remove-NetRoute: Elimina las rutas IP de la tabla de enrutamiento. Sin argumentos, las elimina todas. Indicando una interfaz, elimina solo ésta. En nuestro ejemplo, podríamos usar algo como esto:

      Remove-NetRoute -InterfaceIndex "6"

… Y con esto, habremos terminado la tarea. Espero que te resulte útil.