Hoy quería compartir con ustedes estos tips en PowerShell, todo surgió como una consulta a como configurar algo en un servidor el cual se accedía de forma remota y el refresh de la pantalla era muy lento por lo cual configurarla era bastante tedioso.
Como sobran Microsoft proporciona soporte nativo de Windows PowerShell para realizar tareas de configuración de NIC. También podemos ver todos los cmdlets disponibles para realizar tareas de networking en el sitio oficial de Microsoft: TechNet: Windows PowerShell Cmdlets for Networking.
Un escenario de uso típico es configurar los valores de TCP/IP, por lo que podemos aprovechar los cmdlets de TCP/IP que están disponibles en el módulo NetAdapter.
HowTo…
-
Importamos el módulo NetAdapter. Este paso es opcional, ya que con Windows PowerShell 3.0, la nueva función de módulo de carga automática se encarga de esto. Si es valido para versiones anteriores
Import-Module NetAdapter -
Para seleccionar el adaptador de red que desea configurar.
Get-NetAdapter -Name Ethernet3
-
Para desactivar DHCP
Get-NetAdapter -Name Ethernet3 | Set-NetIPInterface -DHCP Disabled -
Para configurar la dirección IP y la puerta de enlace predeterminada
Get-NetAdapter -Name Ethernet3 | New-NetIPAddress -AddressFamily IPv4 -IPAddress 10.59.2.11 -PrefixLength 24 -Type Unicast -DefaultGateway 10.59.2.254
Aquí le estamos asignando a la NIC llamada Ethernet3 la IP 10.59.2.11, subnet 255.255.255.0 y el gateway 10.59.2.254 -
Para asignarle los DNS (primarios y secundarios), podemos hacerlo con la siguiente entrada:
Set-DnsClientServerAddress -InterfaceAlias Ethernet3 -ServerAddresses 10.59.0.1, 10.59.0.2
Esto también lo podríamos haber realizado de la vieja forma con el comando netsh.exe.
-
netsh interface ip set address name="Ethernet3" static 10.59.2.11 255.255.255.0 10.59.2.254 1
-
netsh interface ip set dns "Ethernet3" static 10.59.0.1, 10.59.0.2
Si quieren ver todas las opciones de configuración de este comando, les recomiendo ver el siguiente link: TechNet: Netsh Technical Reference
-
Si quisieramos renombrar nuestra NIC, podemos hacerlo con los siguiente:
Rename-NetAdapter -Name "Ethernet3" "Production Ethernet” -
Para ver las propiedades avanzadas: Get-NetAdapterAdvancedProperty P*1
-
Para reiniciar el dispositivo Restart-NetAdapter (NIC Name)
-
Para tener un detalle de la configuración del dispositivo Get-NetAdapter -Name ethernet | fl *
Obviamente esto nos abre un montón de posibilidades, ya que también dependiendo del rol de nuestro servidor tendremos mayor cantidad de opciones. Es decir, si el servidor por ejemplo esta configurado como Server de virtualización Hyper-V o mejor aun, un clúster de virtualización Hyper-V, .no solo podre configurar las NICs para un Nic Teaming por medio de PowerShell, sino que también podre configurar el virtualswitch, el heartbeat, liveMigration, y todas aquellas opciones de Hyper-V. También pueden ver as detalle de estos comandos en: TechNet: Hyper-V Cmdlets
Espero que les sea de interés y utilidad. Saludos, Roberto Di Lello.