Búsqueda de sitios web

Introducción a la configuración IP de Windows PowerShell


Una tarea común de SysAdmin implica administrar una configuración IP de PowerShell. Normalmente, se realiza esta tarea utilizando la GUI, lo cual está bien. Pero PowerShell puede hacer el mismo trabajo y más, que usted puede incluir en secuencias de comandos.

En este tutorial, aprenderá a utilizar algunos cmdlets de administración de red en PowerShell para ayudar a administrar la dirección IP, la puerta de enlace y la configuración de DNS de un host de Windows.

¡Siga leyendo y mejore sus habilidades de resolución de problemas de red con los comandos de configuración IP de PowerShell!

Requisitos previos

Este tutorial comprende demostraciones prácticas. Necesitará acceso administrativo a PowerShell en un sistema operativo Windows moderno para seguir adelante. Este tutorial utiliza Windows Server 2022, pero los comandos funcionan en versiones de Windows 10 y posteriores.

Obtener propiedades del adaptador de red (Get-NetAdapter)

Para solucionar problemas o recopilar la dirección IP de un host, puede utilizar herramientas tradicionales como ping, ipconfig o sconfig. Pero con los cmdlets de PowerShell, puede programar este proceso para su automatización.

Abra PowerShell y ejecute el siguiente cmdlet Get-NetAdapter para obtener la lista de adaptadores de red y sus propiedades, como InterfaceAlias e InterfaceIndex de su host.

Get-NetAdapter

Tenga en cuenta que su adaptador aún no tiene un objeto de dirección IP. Necesitas saber cuál vas a utilizar. Para este tutorial, estará trabajando con el alias del adaptador de Ethernet.

Recuperar una dirección Configuración IP de PowerShell (Get-NetIPAddress)

Anteriormente enumeró todas las interfaces de red con un solo comando. Pero también puede enumerar los valores de propiedad y la dirección IP actual de su host a través del cmdlet Get-NetIPAddress.

Ejecute el siguiente cmdlet (sin parámetros) para mostrar la dirección de cada adaptador y la configuración IP de PowerShell.

Get-NetIPAddress

Ahora, ejecute el siguiente comando para limitar la salida (Select-Object) a InterfaceAlias y IPAddress de Ethernet.

Get-NetIPAddress -InterfaceAlias Ethernet | Select-Object -Property InterfaceAlias,IPAddress

Obtener la información de la ruta IP (Get-NetRoute)

Una dirección IP permite a un host comunicarse con otros en la misma red. Pero, ¿qué sucede cuando el host necesita comunicarse fuera de esa red?

Es necesaria una dirección de puerta de enlace y lo que necesita es el cmdlet Get-NetRoute. Este cmdlet proporciona información que los cmdlets anteriores que conoció no brindan.

Ejecute el siguiente comando Get-NetRoute para verificar la puerta de enlace actual (NextHop) para la interfaz Ethernet.

Get-NetRoute -InterfaceAlias Ethernet | Where-Object -Property RouteMetric -EQ 0 | Select-Object -Property NextHop

Normalmente, un servidor DHCP proporciona la dirección de la puerta de enlace. Querrá capturar esta dirección más adelante para este artículo.

Obtener direcciones IP del servidor DNS (Get-DnsClientServerAddress)

DNS es necesario para la resolución de nombres tanto para redes internas como externas. Sin DNS, tendría que recordar la dirección de Internet de cada host de su red.

Pero lo más probable es que su host ya tenga DNS configurado a través de DHCP. Puede utilizar el cmdlet Get-DnsClientServerAddress para verificar la configuración actual.

Get-DnsClientServerAddress

Registre las direcciones IP redirigiendo la salida a un archivo de texto o escribiéndolas. Deberá reasignar estas direcciones de servidor DNS más adelante en este tutorial.

Obtener configuraciones de red IP (Get-NetIPConfiguration)

Cuando necesite la información de los tres cmdlets anteriores que aprendió de una sola vez, el cmdlet Get-NetIPConfiguration será suficiente. La característica destacada de este cmdlet es que proporciona información más específica.

Ejecute el cmdlet Get-NetIPConfiguration a continuación para mostrar las configuraciones de red IP recopiladas por los cmdlets anteriores que ejecutó.

Get-NetIPConfiguration

El cmdlet Get-NetIPConfiguration es más rápido si solo tiene una interfaz de red. Pero si tiene más de una interfaz de red, es posible que deba filtrar las propiedades para evitar que la consola se desplace.

Configuración manual de dirección IP, puerta de enlace y DNS

Con los cmdlets que ha aprendido hasta ahora, es hora de poner en práctica sus nuevos conocimientos. Para este tutorial, asignará una dirección IP estática, una puerta de enlace y servidores DNS a un host de Windows Server 2022.

Los comandos a partir de este momento solo cambian la dirección IP, la puerta de enlace y la configuración de DNS para el adaptador de red especificado. Debes repetir estos pasos para cada adaptador que quieras cambiar.

1. Abra PowerShell como administrador y ejecute el siguiente comando para enumerar los adaptadores de red en su servidor.

Get-NetAdapter

Comando Buscar adaptadores de red instalados

Identifique el adaptador de red que desea cambiar. Puede utilizar el nombre del adaptador o el número de índice que se muestra en la lista (es decir, Ethernet).

2. A continuación, ejecute el siguiente comando Net-NetIPAddress para cambiar la dirección IPv4 de su adaptador de red. El -PrefixLength de 24 muestra que utilizó los primeros 24 bits de la dirección IP para la parte de red de la dirección. Asegúrese de reemplazar lo siguiente en consecuencia:

  • AdapterName: el nombre o número de índice de su adaptador de red de destino.
  • ServerAddress: la dirección IPv4 que se agregará al adaptador de red.
  • GatewayAddress: la dirección de la puerta de enlace debe estar en la misma subred que la dirección IPv4.
New-NetIPAddress -InterfaceAlias "[AdapterName]" -IPAddress [ServerAddress] -PrefixLength 24 -DefaultGateway [GatewayAddress]

Relacionado con el cmdlet New-NetIPAddress está Set-NetIPAddress, que cambia la configuración de IP existente, mientras que Remove-NetIPAddress elimina una configuración.

3. Ahora, ejecute el siguiente comando Set-DnsClientServerAddress, que no produce resultados, pero cambia los servidores DNS. Asegúrese de reemplazar AdapterName con el nombre de su adaptador de red (-InterfaceAlias) o el número de índice (-InterfaceIndex). Este comando configura los servidores DNS para su adaptador de red en los servidores DNS públicos de Google en 8.8.8.8 y 8.8.4.4. Pero puede especificar cualquier dirección IP válida del servidor DNS que desee.

Set-DnsClientServerAddress -InterfaceAlias "[AdapterName]" -ServerAddresses 8.8.8.8, 8.8.4.4

Tenga en cuenta que con el cmdlet Set-DnsClientServerAddress, puede asignar una o más direcciones IP DNS internas o públicas.

4. Por último, ejecute el siguiente " data-type="URL" data-id="https://learn.microsoft.com/en-us/powershell/module/netadapter/restart-netadapter?view=windowsserver2022 -ps>" target="_blank" rel="noreferrer noopener">Restart-NetAdapter comando, que no imprime la salida a la consola sino que reinicia su adaptador de red y aplica los cambios. ¡Felicitaciones! Acaba de configurar manualmente su interfaz de red con una configuración personalizada.

Restart-NetAdapter -Name Ethernet

Si su host solo tiene un adaptador, como en este tutorial, es posible que pierda la conectividad brevemente, dependiendo de cómo esté conectado. Es esencial completar este último paso para comenzar a utilizar la nueva dirección IP.

Conclusión

Conocer la configuración de su red es crucial para mantener una red saludable. La buena noticia es que conoció cuatro comandos básicos de configuración de red disponibles en los cmdlets de configuración IP de PowerShell.

Con este nuevo conocimiento, puede crear fácilmente un script utilizando las capacidades de configuración de IP de PowerShell como parte de un proceso de configuración de servidor más amplio.

¿Que viene despues? ¿Por qué no intentar ajustar opciones más avanzadas como MTU, agregar más rutas o restablecer un adaptador para usar DHCP en lugar de una dirección estática?

Artículos relacionados