Imagino que el escenario que voy a presentar os será conocido a varios de vosotros.

Dispones de un servidor en casa para utilizar de laboratorio, y estás cansado de aplicaciones tipo NO-IP, DynDNS o incluso se te han capado el Team Viewer porque te has pasado horas conectado.

Puedes crear una VPN, o configurar un RDP con filtrado de algún tipo para conectarte de forma directa y gratuita.

Tienes el router perfectamente configurado, por RDP o VPN o VNC, o el servicio que queráis publicar, pero no recordáis la IP de vuestra casa, aunque muchos dicen que no cambian, ese día ha cambiado.

Bien con el script que vamos a mostrar hoy, recibimos por email, la IP de forma diaria (o con la programación que nos interese), solo debemos ejecutarlo en una máquina que siempre tengamos encendida y meterle las credenciales del correo cuando lo ejecutemos para no tener la contraseña en plano a la vista de todos.

## Este script solicita credenciales del correo la primera vez que se ejecuta.

## Comprueba la IP publica desde la que se ejecuta


## Nos envia el resultado, y se ejecuta cada 24 horas.

$credencial = Get-Credential

$ip = Invoke-RestMethod http://ipinfo.io/json | Select -exp ip

while ($true) {

     if ($ip -ne $null) {

            echo $ip > c:\new\ip.txt

             Send-MailMessage -From ‘tudireccion@dominio.com‘ -To tudireccion@dominio.com‘ -Subject ‘PublicIP’ -Body («Esta es la direccion IP Publica»+’ ‘ + $ip)  -SmtpServer ‘tuservidorsmtp(smtp.office365.com)’ -Port ‘587’-UseSsl -Credential $credencial

    } else {


Send-MailMessage -From ‘tudireccion@dominio.com‘ -To ‘tudireccion@dominio.com‘ -Subject ‘Error IP Publica’ -Body ‘Ha ocurrido un error al obtener la IP’ -SmtpServer ‘tuservidorsmtp(smtp.office365.com)’ -Port ‘587’-UseSsl -Credential $credencial

        }

##Podemos poner el tiempo que queramos, yo he configurado 24 horas

     Start-Sleep -Seconds 86400

}

El resultado es un correito en tu bandeja de entrada de forma diaria (puedes crear reglas para que no te aburras de verlo), con tu IP para que hagas con ella, lo que quieras…!!

Untitled

Se puede automatizar más, guardando la contraseña de forma local y encriptada en la máquina y cada vez que se ejecuta el script llama a ese recurso, así podemos configurar como si fuera un demonio y que se ejecute al encender la máquina.

Muchas gracias por leer, como siempre!

Leave a Comment

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.