martes, 15 de febrero de 2022

Obtener ip local en Powershell

 Buenos días queridos lectores, el día de hoy les mostraré como obtener la ip de su máquina local en Powershell


Imaginemos que estamos elaborando un script y necesitamos guardar en una variable la dirección Ip de nuestra computadora, o de la computadora que ejecuta el script. Para esto podemos pensar que el comando ipconfig será suficiente, pero no es así y lo veremos a continuación.


Obtener ip de la máquina local utilizando ipconfig

Como les comentaba anteriormente, podemos pensar que con el comando ipconfig podremos obtener la ip de nuestro equipo, lo cual es cierto a medias, pues no nos serviría para guardar en una variable, veamos el ejemplo:

ipconfig desde powershell
ipconfig con powershell

Como vemos en la imagen, si es posible obtener la ip de la máquina local con el comando ipconfig, sin embargo, no es muy fácil retornarla a una variable, por lo cual utilizaremos un segundo método.

Obtener la ip de la máquina local utilizando Test-Connection

El segundo método, y es el que vamos a utilizar, es el método Test-Connection, este método recibe como parámetro el nombre del equipo (podemos saber la ip de otro equipo en la red, colocando el nombre), para poder hacer esto necesitamos obtener el nombre del equipo local y eso lo haremos mediante el comando hostname. Como se muestra en la siguiente imagen:

hostname en powershell
Hostname en powershell

Teniendo conocimiento de este comando, ya podemos ejecutar el Test-Connection de la siguiente manera:

Test-Connection -ComputerName (hostname)

Con este comando obtendremos información de nuestra IP, además de su dirección, obtendremos el nombre del equipo, tal cual como se muestra en la siguiente imagen:

Ip en Powershell

Sin embargo, tampoco nos ayuda mucho para guardar como variable, vemos que es como un ping, devuelve cuatro resultados, así que primero le vamos a decir mediante el parámetro -Count, que solo nos muestre un solo registro, lo haremos de la siguiente manera:

Test-Connection -ComputerName(hostname) -Count 1


Ahora, solo aparece una línea, ya nos va dando la forma en la que queremos, ahora, solo queremos que el resultado sea el campo IPV4Address, para lo cual haremos uso de la sentencia Select

Test-Connection -ComputerName(hostname) -Count 1 | Select-Object ipv4address


 
Ahora, solo hay que asignar una variable el resultado convertido en String de la siguiente manera:

$ip = Test-Connection -ComputerName(hostname) -Count 1 | Select-Object ipv4address

$direccion= $ip.IPV4Address.ToString()

$direccion




Les dejo un vídeo de este mismo ejercicio para que se comprenda mejor:




Hasta aquí el post queridos amigos, espero compartan, comenten y por favor si les sirvió dejen un clic en los anuncios patrocinados, eso serviría muchísimo.

Saludos

1 comentario:

Featured Post

Restaurar base de datos master SQL SERVER

Como buenos DBA  que somos debemos prepararnos para lo peor como por ejemplo que el servidor donde está nuestra base de datos colapse. Ciert...