Cómo instalar el módulo Microsoft Graph en PowerShell
La API de Microsoft Graph nos permite interactuar con todos los servicios de Microsoft a través de una única fuente. Para hacer esto desde PowerShell, siempre teníamos que instalar diferentes módulos y realizar diferentes conexiones. Esto ya no es necesario con el módulo Microsoft Graph SDK para PowerShell.
Ya podíamos usar Graph API con la ayuda de llamadas Invoke-Webrequests, pero no fue realmente fácil trabajar con eso. El nuevo módulo Microsoft Graph viene con muchos cmdlets para facilitar mucho la interacción con los servicios.
En este artículo, explicaré cómo instalar el módulo Microsoft Graph y cómo conectarme a él usando diferentes permisos.
SDK de Microsoft Graph PowerShell
El módulo Graph en realidad se llama Microsoft Graph PowerShell SDK y es un contenedor para todas las API de Microsoft Graph. Por el momento sólo parece sustituir el módulo de Azure AD. Los otros módulos que utilizamos para interactuar con Microsoft 365 no parecen ser reemplazados por este por el momento.
El 30 de junio de 2022, el punto final de Azure AD Graph quedará obsoleto. Esto significa que las llamadas realizadas con el módulo Azure AD ya no recibirán respuesta. Por lo tanto, es importante reescribir todos los scripts que utilizan el módulo Azure AD en el módulo Microsoft Graph.
Como se mencionó, el SDK de Microsoft Graph PowerShell nos permite interactuar con todas las API de Microsoft. Esto significa que también podríamos utilizar el módulo para interactuar con SharePoint, Exchange Online, Compliance, etc.
Otra ventaja del módulo es que es compatible con PowerShell 7 y superior. El módulo Azure AD, por ejemplo, no funciona en PowerShell 7.
Instalación del módulo Microsoft Graph en PowerShell
El módulo Microsoft Graph SDK existe, actualmente, en 38 módulos. Podemos instalarlos todos a la vez, pero es posible que desees considerar instalar solo los módulos que realmente necesitas.
Nota
Asegúrese de instalar al menos el módulo Microsoft.Graph.Authentication al instalar módulos individuales
Puede ver todos los módulos disponibles con el siguiente comando:
Find-Module Microsoft.Graph*Vamos a instalar el módulo Microsoft Graph solo para el usuario actual. También es posible instalarlo para todos los usuarios, pero luego necesitarás abrir PowerShell con permisos elevados.
Abra PowerShell o Terminal de Windows
- Haga clic derecho en Inicio o presione la tecla Windows + X
- Seleccione Windows PowerShell o Windows Terminal (en Win 11)Instalar el SDK
Ingrese el siguiente comando en PowerShell para instalar el módulo:
Install-Module Microsoft.Graph -Scope CurrentUserAceptar el repositorio que no es de confianza
Escriba Y para instalar desde el repositorio que no es de confianza
Espera a que finalice la instalación
Al instalar todos los módulos, puede tomar un par de minutos antes de que se complete la instalación.
Si también desea utilizar la versión beta, deberá instalar los módulos beta por separado:
Install-Module Microsoft.Graph.Beta -Scope CurrentUserConexión a Microsoft Graph desde PowerShell
Hay dos cosas importantes al conectarse a Microsoft Graph: deberá definir el alcance y existe una versión beta de MgGraph. De forma predeterminada, el módulo utilizará la versión estable de la API. Pero las nuevas funciones se lanzan por primera vez en las versiones beta de los cmdlets.
El otro paso importante es que deberá especificar los alcances que desea utilizar. MgGraph ofrece acceso a todas las API de Microsoft. Entonces, cuando desee, por ejemplo, exportar o ver los usuarios de Azure AD, solo necesita tener permiso User.Read.All.
Encontrar alcances de Microsoft Graph
Encontrar el visor adecuado puede resultar un poco complicado al principio. Pero hay algunas opciones que puede utilizar para determinar qué ámbitos deberá especificar:
- Explorador de gráficos de Microsoft
- Referencia de la API Rest de Microsoft Graph
- Cmdlet Find-MgGraphPermission
Microsoft Graph Explorer es una gran herramienta para probar llamadas API a Microsoft Graph. Viene con muchas llamadas de ejemplo para ayudarle a comenzar. Pero también enumerará el permiso requerido para la llamada.
- Abra el Explorador de gráficos
- Seleccione una consulta de muestra en el lado izquierdo
- Haga clic en la pestaña Modificar permisos.
Necesitará al menos uno de los ámbitos mencionados en la pestaña Permiso cuando se conecte a MS Graph en PowerShell.
La otra opción es utilizar la referencia de API Rest. Puede seleccionar en el menú de la izquierda una de las entidades con las que desea trabajar y luego ver los permisos requeridos. No es necesario agregar todos los ámbitos, se enumeran de menor a mayor privilegio.
La última opción es utilizar los cmdlets Find-MgGraphPermission o Find-MgGraphCommand. Ambos cmdlets le permitirán buscar el permiso requerido para un cmdlet MgGraph en particular:
Find-MgGraphCommand -Command "Get-MgUserAuthenticationMethod" | select -ExpandProperty Permissions | Select -Unique name
# Or
Find-MgGraphPermission AuthenticationMethodConexión a MgGraph en PowerShell
Si sabe qué ámbitos necesita usar, puede conectarse a Microsoft Graph. Usaremos el método interactivo normal, que es excelente cuando se trabaja localmente. Pero cuando desee programar scripts o usar Microsoft Graph dentro de un Runbook de Azure, deberá usar una de las otras opciones de autenticación.
Conéctese a Microsoft Graph con, por ejemplo, los ámbitos User.Read.All y Group.ReadWrite.All:
Connect-MgGraph -Scopes "User.Read.All","Group.ReadWrite.All"Deberá autenticarse y otorgar permiso. Algunos ámbitos requieren otorgar permiso en nombre de su organización.
Ahora puede utilizar la API Graph. Cuando trabaja con Graph en PowerShell, puede agregar ámbitos adicionales a su sesión simplemente usando el comando Connect-MsGraph nuevamente con los nuevos permisos.
Si desea utilizar el cmdlet beta, simplemente agregue el prefijo beta antes del nombre del recurso del cmdlet. Por ejemplo, para usar el cmdlet beta de Get-MgUser, puede usar Get-MgBetaUser.
Actualizar el módulo Microsoft Graph
El módulo Microsoft Graph todavía se está desarrollando y se agregan nuevas funciones periódicamente. Por lo tanto, es importante mantener su módulo actualizado, para que pueda usar los cmdlets Graph más recientes en sus scripts de PowerShell.
Para actualizar el módulo, podemos usar el cmdlet Update-Module en PowerShell, seguido del nombre del módulo:
Update-Module Microsoft.GraphConcluyendo
Puede resultar un poco complicado encontrar los cmdlets correctos del módulo SDK de Microsoft Graph, pero es fantástico que un módulo nos permita interactuar con todos los servicios de Microsoft. En el momento de escribir este artículo, la documentación aún es un poco escasa, por lo que es mucho ensayo y error escribir scripts con ella.
Espero que este artículo te haya ayudado a comenzar con el módulo MgGraph. Si tiene alguna pregunta, simplemente deje un comentario a continuación.






