Cómo ejecutar scripts de Microsoft Graph PowerShell con Azure Automation
Las cuentas de Azure Automation le permiten realizar tareas desatendidas y recurrentes mediante el uso de scripts, como informes periódicos, corrección automática de eventos y automatización de tareas administrativas. La integración entre Azure Automation y Microsoft Graph PowerShell permite infinitas posibilidades para la gestión y el mantenimiento de su entorno mediante Graph API.
En este tutorial, le mostraré cómo crear una cuenta de Azure Automation e integrar su script de Microsoft Graph PowerShell para realizar tareas automatizadas habituales sin interacción del usuario.
Requisitos previos
Para completar los pasos descritos en este tutorial, debe asegurarse de tener lo siguiente:
- Una suscripción a Azure
- Una cuenta con acceso de administrador global
Como las cuentas de automatización son un servicio ubicado en Azure, deben estar vinculadas a una suscripción para fines de facturación. Además de esto, para otorgar los permisos necesarios para permitir que su script se ejecute sin supervisión, debe hacerlo con una cuenta de administrador global.
Cree una aplicación de Azure AD y asigne permiso
Para ejecutar su secuencia de comandos de Microsoft Graph PowerShell sin ninguna interacción o autenticación del usuario, deberá crear una nueva aplicación en Azure Active Directory con los permisos necesarios para realizar las acciones en la secuencia de comandos. Comience iniciando sesión en el centro de administración de Microsoft Entra y siga los pasos a continuación:
1. Seleccione Aplicaciones > Registros de aplicaciones.
2. En la parte superior de la página, seleccione Nuevo registro.
3. Defina un nombre significativo para la aplicación, seleccione Cuentas solo en este directorio organizacional y luego haga clic en Registrarse.
4. Ahora necesitas asignar a tus aplicaciones los permisos pertinentes. Seleccione permisos de API.
5. Seleccione Agregar un permiso y luego seleccione Microsoft Graph en la nueva ventana emergente.
6. Para el tipo de permiso, seleccione Permisos de aplicación.
7. Busque y seleccione cada permiso de la lista y, una vez seleccionados todos los permisos, haga clic en Agregar permisos.
8. Ahora debe otorgar el consentimiento del administrador para que su aplicación utilice los permisos solicitados. Haga clic en Otorgar consentimiento de administrador para el directorio predeterminado.
9. Una vez que se haya otorgado el consentimiento del administrador, la columna de estado mostrará marcas verdes.
10. El último paso es configurar el método con el que nuestro script se autenticará en la aplicación. Para ello, utilizaremos un secreto de cliente, que está disponible en la versión 2 de Microsoft Graph PowerShell. En la página de configuración de su aplicación, seleccione Certificados y secretos.
11. Seleccione Secretos de cliente > Nuevo secreto de cliente.
12. Defina la descripción del secreto y la fecha de caducidad (la vida útil máxima es de 2 años o 730 días).
13. Guarde el Valor de la clave secreta para usarla en su secuencia de comandos.
Como el propósito de esta guía es demostrar cómo usar Microsoft Graph PowerShell con Azure Automation, siga mi otro tutorial para aprender cómo usar permisos de aplicaciones con un secreto de cliente en sus scripts: Cómo conectarse a Microsoft Graph PowerShell con un secreto de cliente.
Cree una cuenta de automatización de Azure
Como los run-books de PowerShell forman parte de las características de 'Automatización de procesos' de las cuentas de automatización de Azure, lo siguiente que debemos hacer es crear una nueva cuenta de automatización. Para crear una cuenta de automatización, siga los pasos a continuación:
1. Comience iniciando sesión en http://portal.azure.com y luego busque Cuentas de automatización.
2. En la página Cuentas de automatización, seleccione Crear para iniciar el nuevo asistente de Cuenta de automatización.
3. En la primera página del asistente, seleccione la suscripción a la que pertenecerá este recurso (esta es la suscripción que se facturará). Luego, defina el nombre de la cuenta de recurso, el nombre de la cuenta de automatización y la región donde se almacenará geográficamente este recurso.
Finalmente, haga clic en Revisar y crear, luego en Crear y espere hasta que se complete la implementación.
Importar módulos de Microsoft Graph PowerShell
De forma predeterminada, Azure Automation incluye varios módulos de PowerShell para ayudarlo a administrar los recursos de Azure. Para ver una lista de módulos predeterminados, consulte la página de documentos de Microsoft para obtener una lista completa. Es importante destacar que los módulos de Microsoft Graph PowerShell deben importarse manualmente. El proceso también es ligeramente diferente si necesita importar las versiones preliminares de los módulos. Siga los pasos a continuación para importar las versiones actual y preliminar de Microsoft Graph PowerShell a su cuenta de Azure Automation.
Importar versiones actuales de Microsoft Graph PowerShell
1. Seleccione su nueva cuenta de automatización en la página Cuentas de automatización.
2. Bajo el encabezado Recursos compartidos, seleccione Módulos.
3. Seleccione Agregar un módulo para iniciar el asistente del nuevo módulo.
4. Seleccione Examinar desde la galería y luego el botón Haga clic aquí para explorar desde la galería.
5. Comience buscando el módulo Microsoft.Graph.Authentication, selecciónelo de la lista de resultados y luego, en la página siguiente, haga clic en Seleccionar.
6. Repita los pasos 3 a 5 para cada módulo adicional que necesite.
Importar versiones preliminares de Microsoft Graph PowerShell
La página de la galería de módulos no incluye módulos de vista previa que pueda implementar en su cuenta de Automation. La forma más conveniente de implementar un módulo de vista previa es hacerlo directamente desde el sitio web de PowerShell Gallary. Para instalar un módulo de vista previa en su cuenta de Azure Automation, siga los pasos a continuación:
1. Vaya a https://www.powershellgallery.com/packages/Microsoft.Graph/ y seleccione la versión preliminar que desea implementar en la sección Historial de versiones. En este ejemplo, elijo la versión 2.0.09-rc3.
2. Como solo puede implementar módulos específicos a través de Azure Automation y no todo el SDK, expanda la sección Detalles del paquete y haga clic en el módulo que desea implementar.
Puede notar que la URL cambiará en su navegador para coincidir con el módulo que seleccionó; también puede modificar esto manualmente.
3. La pestaña Azure Automation aparecerá ahora en la sesión Opciones de instalación. Abra esta pestaña y haga clic en Implementar en Azure Automation.
4. Se abrirá una nueva ventana en su navegador para el asistente de importación del módulo de Azure Automation. Autentíquese si es necesario y seleccione su cuenta de automatización de la lista.
5. En la página siguiente, haga clic en Aceptar y espere a que se complete la implementación. Verá esto en el ícono de notificación en el Portal de Azure.
6. Complete los pasos del 1 al 5 para cada módulo que necesite importar.
Implementar script de automatización con un Runbook
Los runbooks constituyen el componente de automatización de su cuenta de Azure Automation. Los Runbooks se basan en Windows PowerShell y la versión está determinada por la versión de Runtime que se especifica al crear el Runbook. Las versiones de Runbook disponibles incluyen:
- Versión 5.1
- Versión 7.1
- Versión 7.2
Siga los pasos a continuación para crear su Runbook y agregar su script de PowerShell:
1. Abra su cuenta de automatización y, bajo el encabezado Automatización de procesos, seleccione Runbooks.
2. Seleccione Crear un runbook.
3. En la página Crear un runbook, defina el nombre de su runbook, seleccione el tipo de Runbook como PowerShell y la versión de Runtime como 5.1, luego haga clic en Crear.
4. Una vez creado, se abrirá la ventana Editar PowerShell. Si no se abre, regrese a la página Runbook dentro de su cuenta de Automation, seleccione el nuevo Runbook y haga clic en Editar.
5. Desde la ventana Editar PowerShell, agregue su script en el área de código y luego haga clic en Guardar > Publicar.
6. Ahora debes probar tu Runbook para asegurarte de que se ejecuta como se esperaba. En la página de descripción general de Runbook, seleccione Iniciar.
7. Puede verificar si el trabajo se completa con o sin errores seleccionando el trabajo de la lista de trabajos recientes en la parte inferior de la página Descripción general.
8. Seleccione cada pestaña para ver las advertencias o errores que deberían ayudarle a resolver cualquier problema si el script no se completa correctamente.
Configurar el cronograma de ejecución de automatización
El cronograma define el tiempo en el que el runbook se ejecuta en un cronograma recurrente, esto es conveniente si necesita que su script se ejecute diariamente, semanalmente o incluso mensualmente. Para este tutorial, crearé un cronograma para ejecutar mi script diariamente. Siga los pasos a continuación para definir la programación de su runbook:
1. Abra su cuenta de Automation y seleccione Programaciones bajo el encabezado Recursos compartidos.
2. En la página Horarios, seleccione Agregar un horario.
3. En las ventanas emergentes, defina la configuración de su programación y luego haga clic en Crear.
- Nombre: Introduzca un nombre significativo.
- Inicios: agregue la fecha y hora de inicio que desee.
- Zona horaria: Especifique su zona horaria.
- Recurrencia: especifique la frecuencia con la que se ejecuta el runbook según una programación.
- Establecer caducidad: especifique cuándo se detiene la programación del runbook.
Resumen
Ahora tiene un script de Microsoft Graph PowerShell que se ejecutará de forma desatendida según una programación mediante Azure Automation. En este tutorial, aprendiste cómo:
- Cree una aplicación de Azure para admitir que su script se ejecute con permisos de aplicación
- Cree una cuenta de automatización de Azure
- Importe módulos a su cuenta de Azure Automation
- Implemente su script usando un Runbook
- Defina un cronograma para su Runbook




































