2025-12-08
Usa Managed Identity con PowerShell para Microsoft Graph

A medida que las empresas dependen cada vez más de Microsoft 365, automatizar las tareas de administración se vuelve esencial. Puedes mejorar la eficiencia y ahorrar tiempo valioso integrando PowerShell + Graph API. Esta poderosa combinación desbloquea capacidades de administración sólidas que agilizan las operaciones.
Sin embargo, muchos usuarios encuentran desafíos. Por ejemplo, algunas funcionalidades clave carecen de endpoints documentados, lo que complica los esfuerzos de automatización. Además, las API heredadas pueden provocar fallos silenciosos, lo que dificulta el mantenimiento de tus scripts. ¡No te preocupes! Esta publicación desglosará estos conceptos complejos en pasos sencillos y prácticos, guiándote por el proceso con soluciones claras.
Puntos clave
- Integra PowerShell con Graph API para automatizar las tareas de Microsoft 365 y mejorar la eficiencia.
- Asegúrate de que tu sistema cumple los requisitos previos, como PowerShell 7 o superior y el módulo más reciente de Microsoft Graph, para una ejecución sin problemas.
- Comprende los permisos y ámbitos para controlar a qué puede acceder tu script en Microsoft 365, siguiendo el principio de mínimo privilegio.
- Registra tu aplicación en Azure AD para crear una identidad segura para tus scripts, permitiendo un acceso seguro a Microsoft Graph.
- Elige el flujo de autenticación adecuado, como Device Code Flow o Managed Identity Flow, para proteger eficazmente tus tokens de acceso.
- Construye solicitudes HTTP bien formadas usando PowerShell para interactuar con la API de Microsoft Graph y recuperar datos.
- Gestiona los errores y los límites de la API con cuidado para garantizar que tus scripts se ejecuten sin problemas y evitar interrupciones.
- Optimiza tus scripts usando la recuperación selectiva de propiedades y agrupando solicitudes por lotes para mejorar el rendimiento y reducir el consumo de recursos.
Requisitos previos para PowerShell + Graph API
Antes de empezar a automatizar las tareas de Microsoft 365 con PowerShell + Graph API, debes preparar tu sistema y tu entorno adecuadamente. Esta preparación garantiza una ejecución fluida y un acceso seguro a los recursos de Microsoft Graph.
Instalación de los módulos de PowerShell
Debes instalar los módulos de PowerShell adecuados para interactuar con la API de Microsoft Graph. El SDK de PowerShell para Microsoft Graph proporciona todos los cmdlets necesarios para esta integración. Para evitar errores, comprueba que tu sistema cumple estos requisitos mínimos:
| Requisito | Descripción |
|---|---|
| Versión de PowerShell | Se requiere PowerShell versión 7 o superior. |
| .NET Framework | Se necesita .NET Framework 4.7.2 o posterior en macOS. |
| PowerShellGet | Actualiza PowerShellGet a la versión más reciente. |
| Directiva de ejecución | Establece la directiva de ejecución en remote signed o menos restrictiva. |
Puedes actualizar PowerShellGet ejecutando Install-Module PowerShellGet -Force y establecer la directiva de ejecución con Set-ExecutionPolicy RemoteSigned. Después, instala el módulo de Microsoft Graph con:
Install-Module Microsoft.Graph -Scope CurrentUser
Este comando descarga la versión estable más reciente del módulo, lo que te permite llamar a los endpoints de Microsoft Graph con facilidad.
Configuración del entorno de Microsoft 365
Configurar correctamente tu entorno de Microsoft 365 es fundamental para la automatización. Sigue estos pasos para empezar:
- Confirma que tu sistema cumple los requisitos: PowerShell 7.2 o posterior, .NET Framework 4.7.2 o más reciente, y el módulo PowerShellGet más actual.
- Instala el módulo de PowerShell de Microsoft Graph como se indicó anteriormente.
- Conéctate a tu tenant de Microsoft 365 importando el módulo y autenticándote con los ámbitos necesarios. Por ejemplo:
Connect-MgGraph -Scopes "User.ReadWrite.All","Directory.ReadWrite.All"
Este comando te pide que inicies sesión y concede a tu sesión permisos para leer y escribir datos de usuarios y del directorio. Puedes ajustar los ámbitos según las necesidades de tu automatización.
Comprensión de permisos y ámbitos
Los permisos y ámbitos definen lo que tus scripts pueden acceder o modificar en Microsoft 365. La API de Microsoft Graph utiliza dos tipos principales de permisos:
- Permisos delegados: Se aplican cuando ejecutas scripts como usuario con sesión iniciada. Limitan el acceso a los datos que el usuario posee o puede acceder.
- Permisos de aplicación: Permiten que tu aplicación o script acceda a los datos de toda la organización sin un usuario con sesión iniciada.
Entre los permisos habituales se encuentran *.Read.All para acceso de solo lectura y *.ReadWrite.All para capacidades completas de lectura y escritura. Por ejemplo, SecurityActions.Read.All te permite ver las acciones de seguridad, mientras que SecurityActions.ReadWrite.All permite modificarlas.
Los permisos de aplicación requieren consentimiento de administrador. Un administrador del tenant debe aprobar estos permisos para garantizar la seguridad. Además, los usuarios necesitan roles adecuados de Microsoft Entra, como Security Reader, para acceder a datos sensibles. Este acceso basado en roles añade una capa de seguridad adicional.
Al conectarte con el SDK de PowerShell de Microsoft Graph, especifica solo los ámbitos que tu script necesita. Esta práctica sigue el principio de mínimo privilegio, reduciendo los riesgos de seguridad. Ten en cuenta que los permisos concedidos a tu aplicación se aplican a todos los usuarios de esa aplicación, así que revísalos y gestiónalos periódicamente.
Comprendiendo y configurando los permisos con cuidado, proteges tu entorno al tiempo que habilitas una automatización potente con PowerShell + Graph API.
Identidad de aplicación en Azure AD
Registro de una nueva aplicación
Para automatizar las tareas de Microsoft 365 con PowerShell y Graph API, primero debes registrar una aplicación en Azure Active Directory (Azure AD). Esta aplicación actúa como una identidad que tus scripts utilizan para acceder de forma segura a Microsoft Graph. Sigue estos pasos para registrar tu aplicación:
- Abre el portal de Azure y ve a Azure Active Directory > Registros de aplicaciones > Nuevo registro.
- Asigna a tu aplicación un nombre significativo, como "Mi aplicación de Graph".
- Elige los tipos de cuenta admitidos:
- Inquilino único: Solo los usuarios de tu tenant de Azure AD pueden iniciar sesión.
- Multiinquilino: Los usuarios de cualquier tenant de Azure AD pueden iniciar sesión.
- Multiinquilino y cuentas personales: Incluye usuarios de Azure AD y cuentas personales de Microsoft.
Apple Podcasts · Spotify · YouTube · YouTube Music
Use Managed Identity with PowerShell for Microsoft Graph (English)