Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
El shell de red (netsh) es una utilidad de línea de comandos versátil y completa para configurar, administrar y supervisar componentes de red y roles de servidor en sistemas Windows y Windows Server. Con netsh, puede ver y modificar la configuración de red, automatizar tareas y solucionar problemas de red de forma local o remota.
En muchos escenarios, los comandos netsh ofrecen funcionalidad equivalente a los complementos de Microsoft Management Console (MMC) para administrar los roles y características del servidor de red. Esto permite a los administradores realizar tareas de configuración y administración a través de la interfaz GRÁFICA MMC o mediante la automatización de la línea de comandos.
Por ejemplo, puedes configurar el Servidor de directivas de redes (NPS) mediante el complemento MMC de NPS o los comandos netsh en el contexto netsh nps. Además, hay comandos netsh para tecnologías de red, como para IPv6, puente de red y llamada a procedimiento remoto (RPC), que no están disponibles en Windows Server como complemento MMC.
Important
Se recomienda usar Windows PowerShell para administrar tecnologías de red en Windows y Windows Server en lugar de netsh.
Sintaxis de ejemplo
netsh [-a <Aliasfile>] [-c <Context>] [-r <RemoteMachine>] [-u <DomainName>\<Username>] [-p <Password> | *] [Command> | -f <ScriptFile>]
Los parámetros siguientes son opcionales.
| Parameter | Description |
|---|---|
| -a | Especifica que desea volver al shell de netsh después de ejecutar un archivo de alias. Un archivo de alias es el archivo de texto que contiene uno o varios comandos netsh. |
| -c | Escribe el contexto de netsh especificado. El contexto representa un conjunto específico de comandos disponibles relacionados con una función o característica determinada. |
| -r | Especifica que desea que el comando se ejecute en un equipo remoto con su nombre de equipo, un nombre de dominio completo (FQDN) o una dirección IP. El servicio registro remoto debe ejecutarse en el equipo remoto. Si no está en ejecución, Windows muestra un mensaje de error "Ruta de acceso de red no encontrada". Si especifica -r seguido de otro comando, netsh ejecuta el comando en el equipo remoto y, a continuación, vuelve al símbolo del sistema. Si especifica -r sin otro comando, netsh se abre en modo remoto. El proceso es similar al uso de set machine en el shell de comandos netsh. Cuando se usa -r, solo se establece el equipo de destino para la instancia actual de netsh. |
| -u | Especifica que desea ejecutar el comando netsh en una cuenta de usuario específica con DomainName\Username formato. |
| -p | Especifica que quieres proporcionar una contraseña para la cuenta de usuario. Si * se usa, especifica que desea escribir la contraseña de forma segura. |
| Command | Este es el comando netsh que desea ejecutar. |
| -f | Especifica que desea salir de netsh después de ejecutar los comandos desde el archivo de script que proporcione. |
Si su valor de cadena contiene espacios entre caracteres, deberá encerrar el valor de cadena entre comillas. Por ejemplo: -r "contoso remote device". Después de salir de netsh y volver a entrar, el equipo de destino se restablece como equipo local. Puede ejecutar comandos netsh en un equipo remoto especificando un nombre de equipo almacenado en WINS, un nombre UNC, un nombre de Internet que resolverá el servidor DNS o una dirección IP.
Note
Para usar determinados comandos netsh, como los netsh firewall comandos de forma remota en otro equipo mediante el parámetro netsh -r , el servicio registro remoto debe ejecutarse en el equipo remoto. Si este servicio no se está ejecutando, es posible que reciba un mensaje de error de comunicación de red.
Ejecución de comandos netsh
Los comandos netsh se pueden ejecutar mediante un símbolo del sistema elevado o una ventana de PowerShell. Puede cambiar al contexto que contiene el comando que desea usar en función de los componentes de red instalados.
Por ejemplo, si escribe netsh, se le lleva directamente al shell de red. Una vez aquí, si escribe dhcp y presiona Entrar, se le lleva al menú contextual para dhcpclient los comandos.
Contextos de comandos
Netsh interactúa con otros componentes del sistema operativo mediante archivos de la biblioteca de vínculos dinámicos (DLL). Cada DLL del asistente de netsh proporciona un amplio conjunto de características denominadas contexto, que es un grupo de comandos específicos de un rol o característica de servidor de red. Estos contextos amplían la funcionalidad de netsh al proporcionar compatibilidad con la configuración y la supervisión de uno o varios servicios, utilidades o protocolos.
Por ejemplo, dhcpmon.dll proporciona netsh con el contexto y el conjunto de comandos necesarios para configurar y administrar servidores DHCP.
La ubicación de > te permite saber en qué contexto o subcontexto estás. Puede obtener una lista de contextos de netsh ejecutando netsh ? o netsh help presionando Entrar para cualquiera de los comandos disponibles.
Este es un ejemplo de salida:
The following commands are available:
Commands in this context:
.. - Goes up one context level.
? - Displays a list of commands.
abort - Discards changes made while in offline mode.
add - Adds a configuration entry to a list of entries.
advfirewall - Changes to the 'netsh advfirewall' context.
alias - Adds an alias.
branchcache - Changes to the 'netsh branchcache' context.
bridge - Changes to the 'netsh bridge' context.
bye - Exits the program.
commit - Commits changes made while in offline mode.
delete - Deletes a configuration entry from a list of entries.
dhcpclient - Changes to the 'netsh dhcpclient' context.
dnsclient - Changes to the 'netsh dnsclient' context.
dump - Displays a configuration script.
exec - Runs a script file.
exit - Exits the program.
firewall - Changes to the 'netsh firewall' context.
help - Displays a list of commands.
http - Changes to the 'netsh http' context.
interface - Changes to the 'netsh interface' context.
ipsec - Changes to the 'netsh ipsec' context.
ipsecdosprotection - Changes to the 'netsh ipsecdosprotection' context.
lan - Changes to the 'netsh lan' context.
namespace - Changes to the 'netsh namespace' context.
netio - Changes to the 'netsh netio' context.
offline - Sets the current mode to offline.
online - Sets the current mode to online.
popd - Pops a context from the stack.
pushd - Pushes current context on stack.
quit - Exits the program.
ras - Changes to the 'netsh ras' context.
rpc - Changes to the 'netsh rpc' context.
set - Updates configuration settings.
show - Displays information.
trace - Changes to the 'netsh trace' context.
unalias - Deletes an alias.
wfp - Changes to the 'netsh wfp' context.
winhttp - Changes to the 'netsh winhttp' context.
winsock - Changes to the 'netsh winsock' context.
The following sub-contexts are available:
advfirewall branchcache bridge dhcpclient dnsclient firewall http interface ipsec lan mbn namespace netio nlm ras rpc trace wcn wfp winhttp winsock wlan
To view help for a command, type the command, followed by a space, and then type ?.
Subcontextos de comandos
Los contextos también pueden incluir comandos y contextos anidados conocidos como subcontextos. Por ejemplo, el contexto de la interfaz contiene subcontextos como ipv4 e ipv6, que permiten administrar configuraciones de interfaz de red específicas. Por ejemplo:
netsh> interface help
The following commands are available:
Commands in this context:
6to4 - Changes to the 'netsh interface 6to4' context.
? - Displays a list of commands.
dump - Displays a configuration script.
fl48 - Changes to the 'netsh interface fl48' context.
fl68 - Changes to the 'netsh interface fl68' context.
help - Displays a list of commands.
httpstunnel - Changes to the 'netsh interface httpstunnel' context.
ipv4 - Changes to the 'netsh interface ipv4' context.
ipv6 - Changes to the 'netsh interface ipv6' context.
isatap - Changes to the 'netsh interface isatap' context.
portproxy - Changes to the 'netsh interface portproxy' context.
set - Sets configuration information.
show - Displays information.
tcp - Changes to the 'netsh interface tcp' context.
teredo - Changes to the 'netsh interface teredo' context.
udp - Changes to the 'netsh interface udp' context.
The following sub-contexts are available:
6to4 fl48 fl68 httpstunnel ipv4 ipv6 isatap portproxy tcp teredo udp
To view help for a command, type the command, followed by a space, and then
type ?.
Para realizar tareas en otro contexto sin cambiar el contexto actual, escriba la ruta de acceso del contexto del comando que quiera usar en el shell de netsh. Por ejemplo, para agregar una dirección IPv4 estática para "NetLAN1" y especificar la máscara de subred y la puerta de enlace, escriba:
netsh interface ipv4 set address "NetLAN1" static <IP_Address> <Subnet_Mask> <Gateway>
Leyenda de formato
Puede usar la siguiente leyenda de formato para interpretar y usar la sintaxis de comandos correcta al ejecutar comandos de forma interactiva, en un archivo por lotes o en un script.
- El texto en cursiva es información que debe proporcionar al escribir el comando. Por ejemplo, si un comando tiene un parámetro denominado -NombreDeUsuario, tienes que escribir el nombre de usuario real.
- El texto en negrita es información que debe escribir exactamente como se muestra al escribir el comando.
- Texto seguido de puntos suspensivos ... es un parámetro que se puede repetir varias veces en una línea de comandos.
- El texto entre corchetes [ ] es un elemento opcional.
- El texto entre llaves { } con opciones separadas por una canalización proporciona un conjunto de opciones desde las que debe seleccionar solo una, como
{enable|disable}. - El texto que lleva el formato de la fuente Courier es código o salida de un programa.
Valores de cadena para comandos netsh
Hay comandos que contienen parámetros para los que se requiere un valor de cadena. En el caso de que un valor de cadena contenga espacios entre caracteres, debe incluir el valor de cadena entre comillas dobles.
Al establecer el interface parámetro para las redes IPv4 con un valor de cadena de Conexión de red inalámbrica a DHCP, use comillas dobles alrededor del valor de cadena. Por ejemplo:
netsh interface ipv4> set address name="Wireless Network Connection" dhcp
Como alternativa para las interfaces de red, se puede usar el número de índice en lugar del nombre que tenga asociado. Por ejemplo:
netsh interface ipv4> set address name=15 dhcp
Para buscar el nombre o índice de las interfaces conectadas en el subcontexto de interfaz, seleccione el tipo de interfaz y el tipo show interfaces para ver información detallada. Por ejemplo:
netsh interface> ipv4 show interfaces
netsh interface> ipv6 show interfaces
Si no está en el subcontexto de la interfaz, puede ejecutar el comando completo para cualquiera de las interfaces. Por ejemplo:
netsh interface ipv4 show interfaces
netsh interface ipv6 show interfaces
Uso de netsh en archivos por lotes
Un archivo por lotes es un archivo de texto sin formato que contiene una serie de comandos que debe ejecutar el símbolo del sistema de Windows (CMD). Los archivos de Batch tienen una .bat extensión o .cmd . Se usan para automatizar tareas repetitivas, administrar configuraciones del sistema y ejecutar secuencias de comandos sin intervención del usuario. Los archivos por lotes son especialmente útiles para las tareas que implican varias instrucciones de línea de comandos.
Un script por lotes sería útil en estos escenarios:
Configuración de red masiva: si necesita configurar la configuración de red para varios equipos, un archivo por lotes puede simplificar el proceso automatizando la configuración. Las configuraciones masivas son útiles en entornos empresariales o para profesionales de TI que administran varias máquinas.
Reconfiguración de red: los usuarios que cambian entre diferentes entornos de red pueden usar archivos por lotes para cambiar rápidamente la configuración, como direcciones IP y servidores DNS sin intervención manual.
Configuración de copia de seguridad y restauración: puede crear un script por lotes para realizar copias de seguridad de la configuración de red antes de realizar cambios y otro para restaurarlos si es necesario.
A continuación se muestra un ejemplo de archivo por lotes. Las líneas que comienzan por "rem" son comentarios que permiten a los usuarios saber qué acción realizan los comandos:
@echo off
echo Configuring network settings...
REM Set the IP address, subnet mask, and default gateway
netsh interface ip set address name="Ethernet" static 192.168.1.100 255.255.255.0 192.168.1.1
REM Set the DNS server address
netsh interface ip set dns name="Ethernet" static 8.8.8.8
REM Add a secondary DNS server
netsh interface ip add dns name="Ethernet" 8.8.4.4 index=2
REM Enable the firewall
netsh advfirewall set allprofiles state on
echo Network settings configured successfully.
pause
Esta es una breve explicación de lo que hace este script:
- Establece una dirección IP estática, una máscara de subred y una puerta de enlace predeterminada para la interfaz de red denominada "Ethernet".
- Configura el servidor DNS principal que se va a usar.
- Agrega un servidor DNS secundario de respaldo.
- Habilita el Firewall de Windows con seguridad avanzada para todos los perfiles.