Powershell – Test-Connection y nuestro primer script

Seguimos con nuestra serie de powershell, en el presente post vamos a empezar a hablar de un cmdlet que nos servirá para algunas comprobaciones de red, hablamos de test-connection.

Lo primero que haremos será lo de siempre,  saber que podemos hacer y como funciona, HOLA get-help

Bueno, viene a hacer lo mismo que un ping, aunque en otro post indagaremos cosas más interesantes y otro cmdlet que nos permitirá hacer más cosas, hoy solo quiero que empecemos a realizar pequeñas automatizaciones.

Bien, tras leernos la ayuda, ya sabemos que hace el Test-connection vamos a probarlo un poco, en mi red lo probaremos contra el router, 192.168.1.1 veamos que pasa….

La sintaxis es muy sencilla, el resultado es el mismo tanto si ponemos la dirección ip directamente como si ponemos el parámetro -ComputerName 192.168.1.1 así que por pereza solo escribo la ip y a correr. Vemos en el resultado que nos aparece el Origen (Source), Destination (Destino) ….. Bytes enviados, etc. Los Bytes enviados se pueden modificar y la cantidad de “Pings” también , agregamos un par de opciones y veamos que ocurre…

Con el -count 1 le indicamos que solo mande un ping y con el -Buffersize 512 le indicamos el tamaño del ping (¿alguien se acuerda del ping de la muerte?).

Nota: Estas opciones son más que interesantes en redes de determinado tamaño o para diagnóstico de problemas, el  utilizar un ping con distintos tamaños puede ayudar a determinar y diagnosticar distintos tipos de errores en dispositivos de red, servidores, etc.  hay dejo esto.

PowerShell nos permite hacer cosas muy chulas desde línea de comandos, como esta:

En 2 líneas podemos cargar el archivo con el listado de ips y realizar el test-connection a cada equipo,  hoy quiero hacer algo relativamente sencillo y que nos facilite de un vistazo lo que necesitamos saber, digamos que queremos saber si hay conectividad con distintos equipos y/o dispositivos de red, veamos como podríamos hacer esto.

Para empezar, necesitaríamos tener un listado de ips de los equipos a monitorear… para ello creamos un fichero de texto que llamaremos en nuestro ejemplo list_servidores.txt con el siguiente contenido:

 192.168.1.1
 192.168.1.2
 192.168.1.3

Y en el mismo directorio crearemos nuestro primer script, lo llamaremos Ping-Servidores.ps1

Veamos que es lo que tenemos que hacer:
– Leer el contenido archivo list_servidores.txt
– Para cada elemento del paso anterior realizar un test-connection.
– Y si contesta correctamente o da error que nos muestre el resultado por pantalla.

Inicio del archivo:

# Leemos el archivo
 $listado = get-content .\list_servidores.txt

#Para cada ip del archivo
 ForEach ($ip in $listado) {
    if (test-connection -ComputerName $ip -Count 1 -Quiet) {
    # Si el test-connection es correcto
    write-host -BackgroundColor DarkGreen -ForegroundColor Black ('{0} - RESPONDE' -f $ip)
 } else {
    # Si el test-connection no es correcto
    Write-Host -BackgroundColor DarkRed -ForegroundColor White ('{0} - NO RESPONDE' -f $ip)
    }
 }

Como no se ve muy bien os pongo una imagen para que veáis como queda.

Bien tenemos un foreach al que le decimos que para cada elemento ($ip) que esta dentro de los valores de $listado realice un test-connection  y en “silencio” si el resultado es correcto nos escribirá en bonito verde la IP – RESPONDE y en caso contrario nos pondrá en rojo IP – NO RESPONDE….

El resultado visualmente es el siguiente:

Y con un poquito de lógica, y 13 líneas de código incluyendo comentarios, hemos conseguido nuestro objetivo, un script muy sencillo con un resultado aceptable y que nos ha servido para aprender un poco más de PowerShell.

PD: Mirad otro cmdlet interesante, del que también hablaré en otra ocasión Test-Netconnection.

Hasta el próximo post amigos….

Reflexión tomando cafe….. accesos, personas, salida de la empresa….

Sobre usuarios y contraseñas hay mucha bibliografia sobre las mismas (hablando de complejidad, técnicas para facilitar recordarlas, etc.) en tito google encontrarás enemil explicaciones, pero hay más osas a las que accedemos; a crm, a erps, a portales de proveedores, clientes, cuentas de dominio, vpn, etc. Muchos son los datos a los que accede un usuario en nuestras empresas, grades, medianas y micro pymes….. pero que pasa cuando un trabajador se va de la empresa ¿a las buenas o a las malas? ¿qué pasa con esas cuentas? ¿son conscientes las empresas del riesgo que corren? ¿cómo lo gestionan? son varias las preguntas que se nos pueden pasar por la cabeza en estos casos.

Que levante la mano el primero que cree que todo lo comentado anteriormente está controlado o es fácil de controlar…. se miente a si mismo…. como un bellaco…. pensando sobre el tema, tranquilamente tomando un cafe en una terraza, a todos se nos ocurren posbiles opciones para evitar estos riesgos, pero realmente, ¿que empresa mediana, pequeña o incluso de las grandes,, se preocupa realmente en gestionar el riesgo que supone que un usuario de la misma se vaya de la empresa ? ¿quien no ha llegado a una empresa y no se ha encontrado con cuentas;  de dominio,  de correo,  en el erp, en proveedores,  etc. de personal que ya no está en la empresa?

La respuesta es relativamente sencilla, las empresas deberian tener, saber, conocer, lo que quieras llamarlo, ¿que hace un usuario?, ¿a donde accede?,  ¿que cuentas utiliza?, pero ¿tienen también un protocolo, política o lo que sea para saber que hacer con ellas cuando un usuario se va de la empresa?. Y si además este usuario abre la oficina y tiene el código para desactivar la alarma de seguridad y además está como autorizado en la empresa para los de seguridad….

¿Qué pasa si dentro de X tiempo alguien compra con la cuenta de usuario de esa persona que dejó la empresa?  o  ¿dan de baja la alarma de tus oficinas? las posibilidades son infinitas, y el caso es que las empresas, tal y como he comentado, grandes y pequeñas muchas veces no tienen en cuenta que esto hay que tratarlo como un riesgo, y que deberían tener una politica y procedimiento para gestionar este riesgo, cuando un trabajador de la empresa deja de estar presente en la misma…

Y vosotros, ¿cómo gestionais en vuestras empresas la salida de un trabajador? ¿Sois conscientes de los riegos que supone todo lo escrito en este post?

Espero que esta reflexión despierte a más de uno…. aprendices !!!!

 

Pronto estaremos de vuelta

Hola a todos, imagino que sospechais que hemos estado de “vacaciones” y no os habéis equivocado, tras estos meses de verano pronto volveremos a estar en activo, con nuevos contenidos y muchas ganas de compartir y aprender…

Un saludo a todos y nos leemos pronto…

TIPS VERANIEGOS (o cómo yo también tengo un cuñado)

 ¡Muy buenas amigos míos! Ya lo siento, pero hoy me toca a mi dar un poco la lata, de modo que como hace muuuucho calor, vamos a ir a uno de mis ya clásicos “Tips Veraniegos” (imaginaos la música de Verano Azul de fondo…), bueno no, mejor no… 😉

Podríamos hablar de la implementación de la LOPD con miras al Reglamento Europeo de Proteción de Datos (RGPD) pero como que paso bastante.

Así que una cosa ligerita, cómoda para leer mientras tomas una cañita y poco más. ¿Y qué os puedo contar? A ver, os contaré la última que me pasó ayer… Continuar leyendo “TIPS VERANIEGOS (o cómo yo también tengo un cuñado)”