M365Con 2027 – conferencia online gratuita · 11–22 Jan 2027 · 120 sessions→ m365con.net

Blog · Mirko Peters

Primeros pasos con la automatización de PowerShell para Azure y Microsoft 365

By ·

¡De nuevo por aquí, entusiastas de la tecnología y administradores de la nube! Hoy nos sumergimos a fondo en el mundo de la automatización con PowerShell. Si gestionas recursos en la nube, ya sabes que las configuraciones manuales son propensas a errores humanos, ralentizan los ciclos de despliegue y hacen casi imposible mantener una gobernanza coherente. Tanto si escalas máquinas virtuales como s

Automatically translated with AI from the original post. Read the English original

¡De nuevo por aquí, entusiastas de la tecnología y administradores de la nube! Hoy nos sumergimos a fondo en el mundo de la automatización con PowerShell. Si gestionas recursos en la nube, ya sabes que las configuraciones manuales son propensas a errores humanos, ralentizan los ciclos de despliegue y hacen casi imposible mantener una gobernanza coherente. Tanto si escalas máquinas virtuales como si incorporas cientos de usuarios nuevos, PowerShell te ofrece la máxima flexibilidad de línea de comandos para agilizar tus operaciones.

En este artículo explicaremos los fundamentos de usar PowerShell para automatizar tareas administrativas y de desarrollo tanto en Azure como en Microsoft 365. Veremos la configuración inicial de cuentas, los permisos esenciales, métodos de acceso seguros como el principio de privilegio mínimo y los flujos de trabajo de automatización básicos. Si quieres profundizar aún más en este tema, no dejes de consultar nuestro episodio de podcast complementario, PowerShell Automation for Azure and Microsoft 365 with Matthew Dowst [MVP].

Introducción a la automatización de PowerShell para Azure y Microsoft 365

PowerShell es mucho más que un lenguaje de scripts: es un motor de administración orientado a objetos diseñado para que los profesionales de TI y los desarrolladores tengan control total de sus entornos en la nube. Tanto si ejecutas comandos rápidos de una sola línea como si diseñas runbooks empresariales robustos, PowerShell salva la distancia entre la simplicidad y la complejidad.

La organización centralizada, la supervisión de la ejecución, los permisos de usuario granulares y los informes completos son los pilares de una estrategia de automatización sólida. Al establecer un control centralizado sobre tus scripts, tienes visibilidad completa del historial de cambios, del uso de los scripts y de los derechos de ejecución. Esta transparencia reduce drásticamente los errores, optimiza la asignación de recursos en la nube y escala tus capacidades administrativas sin fricciones.

Requisitos previos para la automatización con PowerShell

Antes de ejecutar tu primer script de despliegue o de creación de usuarios automatizado, necesitas establecer una base segura. Esto implica configurar las cuentas adecuadas, asignar los permisos correspondientes e instalar los módulos de PowerShell necesarios.

Cuentas y permisos

Configuración de la cuenta de Azure

Para gestionar los recursos de Azure de forma eficaz, la cuenta de automatización necesita permisos específicos a nivel de suscripción o de grupo de recursos. Respeta siempre estrictamente el principio de privilegio mínimo, concediendo únicamente los permisos exactos que requiera cada tarea.

Configuración de la cuenta de Microsoft 365

Para los servicios de Microsoft 365, la identidad de automatización necesita derechos de administrador designados, como Administrador global, Administrador de Exchange o Administrador de SharePoint. Además, debes asegurarte de que la autenticación multifactor (MFA) esté forzada en todas las cuentas de administración.

Módulos de PowerShell

Instalación de Azure PowerShell

Para interactuar con los recursos de Azure, debes instalar el módulo Az. Ejecuta el siguiente comando en tu terminal:

Install-Module -Name Az -Scope CurrentUser -Repository PSGallery -Force

Asegúrate de mantener tus módulos actualizados con regularidad para aprovechar los últimos parches de seguridad y las nuevas funciones.

SDK de Microsoft Graph

Para gestionar usuarios, grupos y licencias de Microsoft 365 se necesita el SDK de PowerShell de Microsoft Graph. Instálalo con:

Install-Module Microsoft.Graph -Scope CurrentUser

Configuración de seguridad

La asignación de roles debe gestionarse con cuidado tanto en Azure como en Microsoft 365. Aprovecha los roles integrados como Colaborador y Lector cuando corresponda. Aplica directivas de ejecución estrictas, como AllSigned, para evitar que se ejecuten scripts no autorizados en tu entorno.

Crear y configurar Azure Automation

Create and Configure Azure Automation

Configurar Azure Automation proporciona un entorno alojado en la nube para ejecutar tus scripts de PowerShell de forma programada o mediante webhooks. Así, tus flujos de trabajo se ejecutan de forma fiable sin depender de un equipo local.

Cuenta de Azure Automation

Para crear una cuenta de automatización, inicia sesión en Azure Portal con los privilegios de administrador adecuados, busca "Automation" en el marketplace de recursos y sigue el asistente de configuración. Asegúrate de que las asignaciones de roles sigan el modelo de privilegio mínimo, concediendo los derechos de Propietario o Colaborador exclusivamente a quienes gestionen la infraestructura del servicio de automatización.

Gestión de módulos

Los módulos actúan como los bloques funcionales básicos de tu cuenta de Azure Automation. Importar y actualizar módulos correctamente garantiza que tus runbooks se ejecuten sin dependencias faltantes ni errores de compatibilidad. Prueba siempre tus scripts después de actualizar un módulo.

Automatiza todo con scripts de PowerShell

La frase "automatiza todo" no es solo un eslogan pegadizo; es una mentalidad práctica para la administración de sistemas moderna. Al crear, probar y publicar scripts de PowerShell, conviertes tareas manuales tediosas en procesos repetibles y autónomos.

Creación de scripts

Ya sea que automatices el ciclo de vida de las máquinas virtuales de Azure, como aprovisionar nuevas máquinas virtuales, programar apagados automáticos para ahorrar costes o aplicar parches masivos, o que gestiones la incorporación de usuarios de Microsoft 365 y los informes del directorio, PowerShell lo resuelve todo con facilidad.

Pruebas y depuración

Nunca publiques scripts sin probar directamente en producción. Usa herramientas como Visual Studio Code o PowerShell ISE para establecer puntos de interrupción, seguir las rutas de ejecución con el cmdlet Set-PSDebug e incorporar bloques robustos de control de errores try-catch-finally.

Runbooks y programación

Los runbooks de Azure Automation permiten ejecutar scripts en paralelo, lo que reduce drásticamente el tiempo necesario para procesar cargas de trabajo empresariales repetitivas. Programar estos runbooks convierte la gestión reactiva de incidencias en operaciones en la nube automatizadas y proactivas.

Autenticación y acceso seguro

Authentication and Secure Access

La seguridad nunca debe ser una ocurrencia tardía en la automatización. Las credenciales codificadas en el script son una vulnerabilidad enorme que está esperando ser explotada.

Autenticación en scripts

Siempre que sea posible, usa identidades administradas de Azure para la autenticación. Si necesitas usar entidades de servicio, almacena los secretos de cliente de forma segura en Azure Key Vault, rótalos con frecuencia y prefiere las credenciales basadas en certificados o las credenciales federadas frente a los secretos en texto plano.

Parámetros de entrada

Protege tus scripts frente a entradas maliciosas definiendo atributos estrictos de validación de parámetros. El uso de atributos como [ValidateSet()], [ValidatePattern()] y [ValidateScript()] garantiza que tus scripts solo procesen datos limpios y esperados.

Escalado de Azure Automation

Cuando tu organización crece, tu estrategia de automatización debe escalar en consecuencia. Gestionar cientos o miles de recursos requiere operaciones masivas eficientes y estrategias organizativas sólidas.

Operaciones masivas

Aprovecha el filtrado del lado del servidor y el procesamiento en paralelo para manipular simultáneamente grandes lotes de recursos de Azure o cuentas de usuario de Microsoft 365. Programa siempre las tareas administrativas masivas en horas de baja actividad para evitar alcanzar los límites de limitación de la API.

Etiquetado de recursos

El etiquetado coherente de recursos es fundamental para una gobernanza escalable en la nube. Al implementar estrategias de etiquetado claras para la propiedad, los entornos y los centros de coste, puedes dirigir dinámicamente los recursos con tus scripts de PowerShell para informes, limpieza y gestión.

Solución de problemas y buenas prácticas

Incluso los mejores ingenieros de automatización se encuentran con obstáculos. Comprender cómo gestionar los problemas de compatibilidad de módulos, los errores de permisos y las configuraciones de registro es fundamental.

Seguridad y eficiencia

Habilita el registro completo de PowerShell, incluido el registro de módulos, el registro de bloques de script y las transcripciones, y envía estos registros a tu solución SIEM. Optimiza tu código usando cmdlets ligeros, evitando bucles innecesarios y gestionando las excepciones de forma limpia.

Ideas de expertos

Como subraya Matthew Dowst [MVP], el secreto para dominar la automatización es empezar en pequeño. Crea scripts sencillos, amplía gradualmente hacia runbooks avanzados y documenta constantemente tus flujos de trabajo para pasar a tu equipo de TI del mantenimiento reactivo a una arquitectura proactiva.


PowerShell es un recurso indispensable para cualquier administrador de la nube o desarrollador que trabaje con Azure y Microsoft 365. Al priorizar la seguridad, aplicar el principio de mínimo privilegio y escalar metódicamente tus scripts de automatización, puedes construir una infraestructura de TI resiliente, eficiente y preparada para el futuro.

Preguntas frecuentes

¿Cómo se inicia una máquina virtual de Azure mediante un runbook?

Puedes iniciar una máquina virtual de Azure creando un runbook de Azure Automation que ejecute el cmdlet Start-AzVM. Asegúrate de usar una identidad administrada para una autenticación segura y sin credenciales.

¿Qué es un trabajo de runbook y cómo ayuda a la automatización de procesos?

Un trabajo de runbook es una instancia individual y ejecutada de un runbook dentro de Azure Automation. Los trabajos te permiten automatizar la configuración, el mantenimiento programado y la supervisión de recursos sin intervención manual.

¿Por qué deberías usar una identidad administrada en tu runbook?

Las identidades administradas eliminan el riesgo de incluir credenciales de forma fija en tus scripts, ya que Azure gestiona automáticamente la identidad que usa tu runbook para autenticarse en los servicios en la nube.

¿Cómo añades código al runbook para la administración de Microsoft 365?

Abres el editor de runbooks en el portal de Azure Automation, escribes tus comandos personalizados de PowerShell para administrar usuarios, licencias o grupos, y después guardas y publicas el runbook.

¿Cuáles son las mejores prácticas para la configuración y la administración de runbooks?

Usa siempre convenciones de nomenclatura claras, implementa identidades administradas, valida los parámetros de entrada, programa revisiones periódicas de la configuración y supervisa los trabajos de runbook activos por si se producen errores de ejecución.

¿Cómo pruebas y publicas el runbook?

Puedes probar tu script con el panel de pruebas del editor de Azure Automation. Una vez verificado, haz clic en publicar para que el runbook esté disponible para ejecuciones programadas o manuales.

¿Cuál es el papel de los parámetros de runbook en la automatización de procesos?

Los parámetros de runbook te permiten pasar entradas dinámicas a tus scripts en tiempo de ejecución, lo que hace que tus flujos de automatización sean versátiles y reutilizables en distintos escenarios operativos.

¿Cómo detienes una máquina virtual con un runbook?

Crea un runbook que contenga el cmdlet Stop-AzVM, configura un método de autenticación seguro mediante una identidad administrada, prueba la lógica y publica el runbook para automatizar los procedimientos de apagado.

TareaNombre del runbookEstado
Iniciar VMStartVMRunbookCorrecto
Detener VMStopVMRunbookCorrecto
Gestión de usuariosUserMgmtRunbookEn ejecución


🎧 Escucha este episodio

¿Quieres una explicación práctica de la automatización con PowerShell para Azure y Microsoft 365? Este episodio desglosa el tema con un lenguaje claro y muestra por qué importa para Microsoft 365, Azure, Power Platform, la seguridad, la IA y el trabajo moderno.

Escucha este episodio si quieres:

También te pueden interesar estos episodios relacionados de M365 FM:

Descubre más conversaciones prácticas sobre Microsoft en M365 FM.

Exchange Online Automation Microsoft 365 Matthew Dowst Multifactor authentication (MFA) SharePoint

Related articles

RSS