Que es la prueba de infraestructura y como hacerla con PowerShell

Si bien 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 cómo se "hace".

Si estamos ejecutando una secuencia de comandos de aprovisionamiento de usuarios que crea un usuario de Active Directory (AD), un buzón de correo de Exchange o una carpeta de inicio, ¿cómo sabemos realmente que la secuencia de comandos hizo todo lo que se suponía que debía hacer? Nosotros no Podemos notar que no se lanzó un error y también verificamos las cosas más tarde. Pero si el script cubre 1,000 usuarios, no será posible hacerlo. ¡También necesitamos usar la automatización de pruebas!

Índice de contenidos()

    ¿Qué son las pruebas de infraestructura?

    Una forma de automatizar este tipo de pruebas es 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 fue creado con los atributos correctos?"
    • "¿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 amplia de lo que tenemos tiempo para un solo artículo, 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, aplicado solo a cosas diferentes. 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 de secuencias de comandos comunes que utilizo para asegurarme de que mi infraestructura esté configurada correctamente.

    Probar un puerto de red

    Un ejemplo típico de prueba de infraestructura es probar un puerto de red. Dado 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á disponible para computadoras remotas. Sin embargo, la compilación de esta prueba requiere algunos conocimientos de TCP, UDP y .NET. Afortunadamente, puede usar un script existente de la comunidad llamado Prueba-NetworkPort.ps1. Este script se puede descargar de la Galería de PowerShell ejecutando 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 determinado.

    Prueba de resolución de nombres DNS

    Al iniciar una nueva máquina, ya sea que dependa de DNS dinámico para registrar el nombre o crear un registro de DNS explícitamente, deberá asegurarse de que su nombre se pueda resolver. Con PowerShell, puede utilizar un script que intente resolver un nombre en particular y devolver True o False si se puede arreglar o no.

    Al igual que con nuestro ejemplo de prueba de puerto, también podemos descargar este script de la Galería de PowerShell a través de Install-Script -Name Test-DnsNameResolution.

    Cuando se complete la descarga, simplemente llame Test-DnsNameResolution.ps1 con el nombre y 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 ANUNCIO puede resolver el nombre de DC.mylab.local. Si no, volvería False.

    Conclusión

    Los ejemplos que se dan aquí son solo dos de miles. El propósito de este artículo no es mostrarte Cómo para ejecutar pruebas de infraestructura, pero más para guiarlo en la creación de las suyas propias.

    Para crear pruebas de infraestructura bien desarrolladas, primero debe definir qué significa estar "activo" o "esperado", crear un script de PowerShell para encontrar el estado actual y esperado y tomar una decisión a partir de ahí.

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

    Deja una respuesta

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

    Subir