Cua­l­quie­ra que haya pro­fu­n­di­za­do un poco en la co­n­fi­gu­ra­ción de redes con Windows se habrá en­co­n­tra­do tarde o temprano con Network Shell (Netsh). Este término designa una interfaz entre el usuario y el sistema operativo que permite la ad­mi­ni­s­tra­ción y co­n­fi­gu­ra­ción de las redes locales y remotas.

Sus apli­ca­cio­nes van desde la co­n­fi­gu­ra­ción del co­r­ta­fue­gos de Windows, pasando por la gestión de redes LAN y WLAN, hasta las co­n­fi­gu­ra­cio­nes IP y de se­r­vi­do­res. Además, sirve para proteger las in­frae­s­tru­c­tu­ras de red contra ataques externos. La he­rra­mie­n­ta de línea de comandos sirve también para dia­g­no­s­ti­car problemas en la red y re­pa­rar­los. Una de las grandes ventajas de Netsh es que las tareas de ad­mi­ni­s­tra­ción de la red pueden rea­li­zar­se de manera pa­r­ti­cu­la­r­me­n­te rápida y cómoda y, además, au­to­ma­ti­zar­se con un script.

Ejecutar los comandos de Netsh: abrir el símbolo del sistema

Para usar Netsh, tienes que ir al nivel de línea de comandos. Puedes llegar allí a través del menú Ejecutar (Run), al que puedes acceder de la siguiente manera:

  1. Pulsa la co­m­bi­na­ción de teclas [Windows] + [R].
  2. Escribe cmd en el campo de entrada (1).
  3. Pulsa el botón Aceptar (2).

Entonces, se abre el símbolo del sistema. Escribe netsh y confirma con [Intro] para iniciar el programa:

Si los comandos y scripts de Netsh no se ejecutan o si deseas realizar in­te­r­ve­n­cio­nes más profundas en la co­n­fi­gu­ra­ción de la red, debes iniciar la Network Shell de la red con derechos de ad­mi­ni­s­tra­dor. En Windows 10, puedes hacerlo de la siguiente manera:

  1. Haz clic con el botón derecho del ratón en el icono de Windows, a la izquierda de la barra de tareas, o pulsa [Windows] + [X].
  2. Se­le­c­cio­na Símbolo del sistema (Ad­mi­ni­s­tra­dor) en el menú co­n­te­x­tual que aparece.

Netsh incluye el archivo de programa netsh.exe, que se encuentra en la carpeta de sistema de Windows (%windir%\system32). Puedes usar una llamada directa para llegar antes a la entrada de comandos de Netsh. Escribe la ruta C:\NWindows\System32\netsh.exe en la barra de di­re­c­cio­nes del Ex­plo­ra­dor de Windows y pulsa [Intro]. Podrás escribir di­re­c­ta­me­n­te los comandos Netsh en la ventana de entrada que se abrirá.

Puedes llegar más rá­pi­da­me­n­te a la llamada directa mediante un acceso directo. Una vez creado, basta con hacer clic para iniciar la entrada de comandos:

  1. Haz clic con el botón derecho del ratón en el es­cri­to­rio de Windows, luego, en el elemento de menú Nuevo (1) y después en Acceso directo en el siguiente menú co­n­te­x­tual (2):
  1. En el asistente de accesos directos, escribe la ruta C:\Windows\System32\netsh.exe (1) y haz clic en Siguiente (2):
  1. A co­n­ti­nua­ción, asigna un nombre si­g­ni­fi­ca­ti­vo al atajo (1), que aparecerá en el es­cri­to­rio al hacer clic en Finalizar (2):

La es­tru­c­tu­ra de Netsh

El programa Netsh pro­po­r­cio­na una sintaxis de comandos muy versátil. Si quieres uti­li­zar­lo para realizar tareas es­pe­cí­fi­cas, debes fa­mi­lia­ri­zar­te primero con la es­tru­c­tu­ra es­pe­cí­fi­ca de Network Shell. La es­tru­c­tu­ra del programa se basa en contextos que re­pre­se­n­tan di­fe­re­n­tes niveles de ad­mi­ni­s­tra­ción. Cada contexto cubre una fu­n­cio­na­li­dad de red es­pe­cí­fi­ca (por ejemplo, IP, LAN, y co­n­fi­gu­ra­ción del co­r­ta­fue­gos). Para in­ter­ac­tuar co­n­te­x­tua­l­me­n­te con otros co­m­po­ne­n­tes de Windows, el programa utiliza los archivos de la Dynamic Link Library (Bi­blio­te­ca de Enlace Dinámico) (DLL): por ejemplo, Netsh accede a Dhcpmon.dll para cambiar y ad­mi­ni­s­trar la co­n­fi­gu­ra­ción del DHCP.

Para usar un contexto, debes llegar a este desde el símbolo del sistema de Windows. Para acceder al contexto de la gestión de LAN, por ejemplo, debes hacer lo siguiente:

  1. Escribe netsh en el símbolo del sistema y confirma con [Intro].
  2. Escribe lan y confirma con [Intro].
  3. Ahora, el símbolo del sistema muestra el cambio de contexto: netsh lan>

Si has cambiado al contexto LAN, se activarán los comandos de contexto es­pe­cí­fi­co y mu­l­ti­co­n­te­x­to. Entre los comandos es­pe­cí­fi­cos del contexto está set, que configura los ajustes en las in­te­r­fa­ces. Un ejemplo de comando básico y mu­l­ti­co­n­te­x­to de Netsh es el comando de ayuda /?, que enumera los su­b­co­n­te­x­tos y comandos di­s­po­ni­bles en cada área. Al in­tro­du­ci­r­lo, la sección LAN muestra la siguiente lista de comandos es­pe­cí­fi­cos de contexto y mu­l­ti­co­n­te­x­to:

Por ejemplo, si cambias al contexto del co­r­ta­fue­gos, aparecerá la siguiente lista de re­fe­re­n­cia de comandos:

Además de la es­tru­c­tu­ra de cada contexto, manejar Netsh requiere tener en cuenta otras ca­ra­c­te­rí­s­ti­cas es­pe­cia­les. Puede uti­li­zar­se de modo in­ter­ac­ti­vo o no in­ter­ac­ti­vo. En el modo no in­ter­ac­ti­vo, por ejemplo, los ajustes de red im­po­r­ta­n­tes se exportan a un archivo de texto y después vuelven a im­po­r­tar­se para po­s­te­rio­r­me­n­te ser re­cu­pe­ra­dos.

El modo in­ter­ac­ti­vo, por su parte, permite realizar so­li­ci­tu­des directas. Al escribir netsh interface ip show address, se muestra la dirección IP actual del ordenador. El modo in­ter­ac­ti­vo puede uti­li­zar­se en modo conectado o de­s­co­ne­c­ta­do. El primer modo im­ple­me­n­ta los comandos di­re­c­ta­me­n­te, el modo de­s­co­ne­c­ta­do guarda las acciones y las ejecuta más tarde. Las acciones al­ma­ce­na­das se im­ple­me­n­tan en el momento deseado con el comando de Netsh commit.

Comandos de Netsh y sus contextos

Aquí hemos re­co­pi­la­do los comandos de Netsh más im­po­r­ta­n­tes con una breve ex­pli­ca­ción de sus contextos. Si se trata de un comando general mu­l­ti­co­n­te­x­to, se da in­fo­r­ma­ción adicional en la columna de la derecha. De­pe­n­die­n­do de la versión del sistema operativo y el rol que se tenga en la red (cliente o servidor), los comandos di­s­po­ni­bles pueden diferir en algunos aspectos. La lista de comandos para un ordenador con Windows Server 2016 Da­ta­ce­n­ter es la siguiente:

Comando Efecto Ad­mi­ni­s­tra­do en el contexto Netsh
.. Pasa a un nivel de contexto superior.
? Muestra una lista de comandos.
abort Descarta los cambios rea­li­za­dos sin conexión.
add Añade una entrada de co­n­fi­gu­ra­ción a la lista.
ad­v­fi­re­wa­ll Cambia al contexto de netsh ad­v­fi­re­wa­ll. Co­r­ta­fue­gos (di­re­c­ti­vas y co­n­fi­gu­ra­ción)
alias Añade un alias
bra­n­ch­ca­che Cambia al contexto netsh bra­n­ch­ca­che. Co­n­fi­gu­ra­ción de Bra­n­ch­Ca­che
bridge Cambia al contexto netsh bridge. Puente de red
bye Cierra el programa.
commit Tra­n­s­fie­re los cambios rea­li­za­dos sin conexión.
delete Borra una entrada de co­n­fi­gu­ra­ción de la lista de entradas.
dh­c­p­clie­nt Cambia al contexto netsh dh­c­p­clie­nt. Cliente DHCP
dnsclient Cambia al contexto netsh dnsclient. Co­n­fi­gu­ra­ción del cliente de DNS
dump Muestra un script de co­n­fi­gu­ra­ción.
exec Ejecuta un archivo de script.
exit Cierra el programa.
firewall Cambia al contexto netsh firewall. Co­r­ta­fue­gos (di­re­c­ti­vas y co­n­fi­gu­ra­ción)
help Muestra una lista de comandos.
http Cambia al contexto netsh http. Co­n­tro­la­dor del servidor http (http.sys)
interface Cambia al contexto netsh interface. Co­n­fi­gu­ra­ción IP (v4, v6)
ipsec Cambia al contexto netsh ipsec. Di­re­c­ti­vas de IPSec
ip­se­c­do­s­pro­te­c­tion Cambia al contexto netsh ip­se­c­do­s­pro­te­c­tion. Pro­te­c­ción contra los ataques de negación de servicio del IPSEC
lan Cambia al contexto netsh lan. In­te­r­fa­ces de red in­alá­m­bri­ca
namespace Cambia al contexto netsh namespace. Di­re­c­ti­vas del cliente DNS
netio Cambia al contexto netsh netio. Filtro de unión
offline Establece el modo actual como de­s­co­ne­c­ta­do.
online Establece el modo actual como conectado.
popd Cambia al contexto al­ma­ce­na­do en la pila por pushd.
pushd Tra­n­s­fie­re el contexto actual a la pila.
quit Cierra el programa.
ras Cambia al contexto netsh ras. Servidor de acceso remoto
rpc Cambia al contexto netsh rpc. Servicio de co­n­fi­gu­ra­ción RPC
set Actualiza los ajustes de co­n­fi­gu­ra­ción.
show Muestra in­fo­r­ma­ción.
trace Cambia al contexto netsh trace.
unalias Borra un alias.
wfp Cambia al contexto netsh wfp. Windows Filtering Platform
winhttp Cambia al contexto netsh winhttp. Co­n­fi­gu­ra­ción del proxy y el rastreo del cliente http de Windows
winsock Cambia al contexto netsh winsock. Co­n­fi­gu­ra­ción de Winsock
wlan Cambia al contexto netsh wlan. In­te­r­fa­ces de red in­alá­m­bri­ca

Pa­rá­me­tros de sintaxis para Netsh: ¿qué si­g­ni­fi­can?

Para llevar a cabo acciones y tareas concretas, pueden añadirse pa­rá­me­tros op­cio­na­les a los comandos Netsh. La sintaxis para combinar los comandos y pa­rá­me­tros de Netsh es la siguiente:

netsh [-a archivo de alias] [-c contexto] [-r ordenador remoto] [-u [nombre de dominio\]nombre de usuario] [-p Contraseña | *] [Comando | -f Archivo de script]

Los si­guie­n­tes pa­rá­me­tros son todos op­cio­na­les, por lo que se pueden añadir y utilizar según se requiera:

-a Vuelve al indicador de Netsh después de ejecutar el archivo de alias.
Archivo de alias (inglés: AliasFile) Es­pe­ci­fi­ca el nombre del archivo de texto que contiene al menos un comando Netsh.
-c Cambia al contexto es­pe­ci­fi­ca­do de Netsh.
Contexto (inglés: Context) Marcador de posición para el contexto que se va a in­tro­du­cir (por ejemplo, WLAN).
-r Hace que el comando se ejecute en un ordenador remoto (re­mo­te­co­m­pu­ter) donde debe estar fu­n­cio­na­n­do el Servicio de Registro Remoto.
Ordenador remoto (inglés: Re­mo­te­Co­m­pu­ter) Nombre del ordenador remoto que se está co­n­fi­gu­ra­n­do
-u Indica que el comando Netsh se está eje­cu­ta­n­do bajo una cuenta de usuario.
Nombre de dominio\ (inglés: Do­mai­n­Na­me\) Ide­n­ti­fi­ca el dominio de la cuenta de usuario (por defecto es el dominio local si no se menciona un nombre de dominio es­pe­cí­fi­co).
Nombre de usuario (inglés: UserName) Nombre de la cuenta de usuario
-p Puede indicarse una co­n­tra­se­Ã±a para la cuenta de usuario.
Co­n­tra­se­Ã±a (inglés: Password) Indica la co­n­tra­se­Ã±a de la cuenta de usuario es­pe­ci­fi­ca­da con -u nombre de usuario.
Comando Netsh (inglés: Netsh­Co­m­ma­nd) Comando Netsh que se va a ejecutar
-f Termina Netsh después de la ejecución del archivo de script.
Archivo de script (inglés: Scri­p­t­Fi­le) Script por ejecutar

Re­s­ta­ble­cer la pila TCP / IP con Netsh

Un uso común de los comandos Netsh es el re­s­ta­ble­ci­mie­n­to de la pila TCP / IP que maneja el in­te­r­ca­m­bio de paquetes de datos en las redes. Si aparecen problemas en la red y en Internet, esta medida puede ser de utilidad, ya que elimina, por ejemplo, los defectos o la co­n­fi­gu­ra­ción in­co­rre­c­ta de pro­to­co­los TCP/IP. El siguiente comando de re­pa­ra­ción realiza un re­s­ta­ble­ci­mie­n­to y reinstala el TCP/IPv4:

netsh int ip reset

También puede crearse un archivo de registro que documente los cambios rea­li­za­dos:

netsh int ip reset c:\tcpipreset.txt

Después del re­s­ta­ble­ci­mie­n­to, es preciso reiniciar el ordenador.

Consejo

Los comandos de Netsh también pueden uti­li­zar­se en archivos por lotes (*.bat) para au­to­ma­ti­zar tareas ru­ti­na­rias. Para saber más, consulta nuestra guía Crear archivo por lotes.

Im­po­r­ta­ción y ex­po­r­ta­ción de co­n­fi­gu­ra­cio­nes de red

Con Netsh también es posible exportar la co­n­fi­gu­ra­ción actual de la red a un archivo de texto simple. Si hay problemas de red, se re­s­ta­ble­ce rá­pi­da­me­n­te una co­n­fi­gu­ra­ción funcional y sin errores.

En el primer paso (ex­po­r­ta­ción) se lee la co­n­fi­gu­ra­ción de la red, se escribe en un archivo de texto (netcnfig.txt) y se almacena en el di­re­c­to­rio de ejemplo Co­n­fi­gu­ra­ción de red, en la unidad C:\. La carpeta Co­n­fi­gu­ra­ción de red debe crearse ma­nua­l­me­n­te en la unidad de destino antes de realizar la primera ex­po­r­ta­ción (Netsh no lo hace au­to­má­ti­ca­me­n­te). Ve al símbolo del sistema y escribe el siguiente código:

netsh -c interface dump>c:\Configuración de red\netcnfig.txt

Para la im­po­r­ta­ción de ajustes posterior, debe in­tro­du­ci­r­se el siguiente comando:

netsh -f c:\Configuración de red\netcnfig.txt
Consejo

Windows 10 también permite copiar y pegar en el símbolo del sistema. Puedes si­m­ple­me­n­te copiar la sintaxis del comando de este artículo y pegarla en la ventana de entrada.

Co­n­fi­gu­ra­ción de IP con Netsh

Un uso típico de Netsh es cambiar la co­n­fi­gu­ra­ción de la IP. Para que un ordenador de la red no obtenga au­to­má­ti­ca­me­n­te una dirección IP estática sino una asignada, puedes activar el protocolo de co­n­fi­gu­ra­ción dinámica de host (DHCP). Este protocolo de co­mu­ni­ca­ción asigna au­to­má­ti­ca­me­n­te di­re­c­cio­nes IP y otros datos de co­n­fi­gu­ra­ción ne­ce­sa­rios para los clientes de una red. Este proceso requiere varios pasos.

El primer paso es recuperar la co­n­fi­gu­ra­ción actual y los nombres de los ada­p­ta­do­res de red di­s­po­ni­bles:

netsh interface ipv4 show interface

A co­n­ti­nua­ción, se determina un adaptador LAN es­pe­cí­fi­co (en este ejemplo, Ethernet) como la dirección para la asi­g­na­ción de IP a través de DHCP:

netsh interface ipv4 set address name="Ethernet" source=dhcp

El DHCP se encarga de la gestión dinámica de los ajustes de red re­la­cio­na­dos con el adaptador de Ethernet.

Activar y des­ac­ti­var el co­r­ta­fue­gos de Windows

Si quieres habilitar o des­ha­bi­li­tar el Firewall de Windows, basta con una simple sintaxis de comando de Netsh. Para habilitar un co­r­ta­fue­gos, sigue estos pasos:

netsh firewall set opmode enable

Para des­ac­ti­var el co­r­ta­fue­gos, utiliza la siguiente línea de comandos:

netsh firewall set opmode disable
Nota

En algunos contextos, Windows re­co­mie­n­da utilizar al­te­r­na­ti­vas a Netsh para ad­mi­ni­s­trar las redes. En esos casos, a menudo se utiliza el Windows Po­we­r­She­ll, acerca del cual en­co­n­tra­rás una in­tro­du­c­ción en nuestra Digital Guide.

Ir al menú principal