¿Qué son las pruebas de infraestructura y cómo hacerlo con PowerShell?

Share on facebook
Share on twitter
Share on linkedin
Share on telegram
Share on whatsapp

Contenidos

Logotipo de Powershell

Como todos intentamos hacer más con menos con la automatización, a veces llegamos a un punto en el que tenemos un nuevo problema. Ahora estamos ejecutando tantos scripts y procesos que, al final, no estamos seguros de qué aspecto tiene «hecho»

Si estamos ejecutando un script de aprovisionamiento de usuarios que crea un usuario de AD (Active Directory), un buzón de Exchange o una carpeta de inicio, ¿cómo sabemos verdaderamente que el script hizo todo lo que se suponía que debía hacer? Nosotros no Podemos notar que no se lanzó un error y además verificamos las cosas después. Pero si el script cubre 1,000 usuarios, no hay forma de que sea viable. ¡Además necesitamos utilizar la automatización de pruebas!

¿Qué son las pruebas de infraestructura?

Una forma de automatizar este tipo de pruebas es con lo que se conoce en términos generales como pruebas de infraestructura. ¿Qué son las pruebas de infraestructura? Significa cualquier código que lea los valores de configuración de varias cosas en el entorno de TI y los compare con los valores esperados.

Algunos ejemplos de pruebas de infraestructura incluyen:

  • «¿Ese usuario de AD se creó con los atributos adecuados?»
  • «¿El puerto 80 responde en mi servidor web?»
  • «¿Se está ejecutando el servicio DHCP?»

La discusión sobre las pruebas de infraestructura es mucho más grande de lo que tenemos tiempo en un solo post, pero puedo darles una ventaja. A medida que comience a escribir estas pruebas, comenzará a notar patrones; comenzará a darse cuenta de que está escribiendo repetidamente el mismo tipo de código, simplemente aplicado a diferentes cosas. En lugar de copiar y pegar todo el tiempo, puede compartir este código en forma de un script o función de PowerShell.

Repasemos un par de ejemplos comunes de scripts que utilizo para ayudarme a asegurarme de que mi infraestructura esté configurada correctamente.

Prueba de un puerto de red

Un ejemplo típico de prueba de infraestructura es probar un puerto de red. Debido a que todos los servicios de red se abren y escuchan en un puerto en particular, una prueba real de si ese servicio está «activo» o no es confirmar que un puerto específico está habilitada para computadoras remotas. A pesar de esto, para construir esta prueba, se necesita una buena cantidad de conocimientos sobre TCP, UDP y .NET. Por suerte, puede utilizar un script existente de la comunidad llamado Prueba-NetworkPort.ps1. Este script se puede descargar desde el Galería de PowerShell a través de la ejecución Install-Script -Name Test-NetworkPort.

Una vez descargado, simplemente llámelo usando Prueba-NetworkPort.ps1 y pase un nombre de computadora y un puerto para probar.

PS > Test-NetworkPort.ps1 -ComputerName DC -Port 389
True

Dependiendo de si el puerto está escuchando o no, este script volverá True o False. Puede explorar otros parámetros que tiene este script leyendo la ayuda asociada a él a través de Get-Help Test-NetworkPort.ps1.

Este script realiza una prueba sobre el infraestructura escuchando en un puerto en particular.

Prueba de la resolución de nombres DNS

Al abrir una nueva máquina, ya sea que dependa de DNS dinámico para registrar el nombre o si está creando un registro DNS de forma explícita, deberá asegurarse de que su nombre se pueda solucionar. Con PowerShell, puede usar un script que intente solucionar un nombre en particular y devolver True o False si se puede solucionar o no.

Del mismo modo que con nuestro ejemplo de prueba de puertos, además podemos descargar este script de la Galería de PowerShell a través de Install-Script -Name Test-DnsNameResolution.

Cuando la descarga se haya completado, simplemente llame Test-DnsNameResolution.ps1 con el nombre y el servidor DNS que desea consultar.

PS> Test-DnsNameResolution.ps1 -Name DC.mylab.local -Server DC
False

Si el guión regresa True, el servidor DNS corriente continua puede solucionar el nombre de DC.mylab.local. Si no, hubiera regresado False.

Conclusión

Los ejemplos proporcionados aquí son solo dos entre cientos. El objetivo de este post no es mostrarte cómo para realizar pruebas de infraestructura, pero más para guiarlo en la creación de las suyas propias.

Para crear pruebas de infraestructura bien desarrolladas, primero es necesario establecer qué significa estar «activo» o «esperado», crear un script de PowerShell para hallar el estado actual y esperado y hacer una elección a partir de ahí.

No continúe confirmando manualmente que su infraestructura está funcionando como espera. ¡Empiece a crear algunos scripts de PowerShell y automatice esos procesos mundanos por usted!

Suscribite a nuestro Newsletter

No te enviaremos correo SPAM. Lo odiamos tanto como tú.