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 hacer diferentes conexiones. Esto ya no es necesario con el módulo SDK de Microsoft Graph para PowerShell.

Ya podíamos usar Graph API con la ayuda de las llamadas de Invoke-Webrequests, pero no fue realmente fácil trabajar con eso. El nuevo módulo Microsoft Graph viene con muchos cmdlets para facilitar la interacción con los servicios.

En este artículo, explicaré cómo instalar Microsoft Graph Module y cómo conectarse a él usando los diferentes permisos.

SDK de PowerShell de Microsoft Graph

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 solo parece reemplazar el módulo de Azure AD. Los otros módulos que usamos para interactuar con Microsoft 365 no parecen ser reemplazados por este en este momento.

El 30 de junio de 2022, el punto de conexión de Azure AD Graph será obsoleto. Esto significa que las llamadas realizadas con el módulo Azure AD ya no obtendrán una respuesta. Por lo tanto, es importante reescribir todos los scripts que usan el módulo de Azure AD en el módulo de 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 usar el módulo para interactuar con SharePoint, Exchange Online, Cumplimiento, 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 SDK de Microsoft Graph existe, en este momento, de 38 módulos. Podemos instalarlos todos a la vez, pero es posible que desee considerar instalar solo los módulos que realmente necesita.

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 de Microsoft Graph solo para el usuario actual. También es posible instalarlo para todos los usuarios, pero luego deberá abrir PowerShell con permisos elevados.

  1. Abra PowerShell o Terminal de Windows

    Haga clic derecho en Inicio o presione la tecla de Windows + X
    – Seleccione Windows PowerShell o Windows Terminal (en Win 11)

    PowerShell Windows 11

  2. Instalar el SDK

    Ingrese el siguiente comando en PowerShell para instalar el módulo:

    Install-Module Microsoft.Graph -Scope CurrentUser

    Instalar Microsoft Graph Module PowerShell

  3. Aceptar el repositorio no confiable

    Escribe Y para instalar desde el repositorio no confiable

    PowerShell del SDK de Microsoft Graph

  4. Espere a que termine la instalación

    Al instalar todos los módulos, pueden pasar un par de minutos antes de que se complete la instalación.

    Instalar msgraph

Conexión a Microsoft Graph desde PowerShell

Hay dos cosas importantes al conectarse a Microsoft Graph: puede especificar la versión de la API y deberá definir el alcance. De forma predeterminada, el módulo utilizará la versión estable de la API. Pero también puede cambiar esto a la versión Beta de la API. Esto le permite explorar nuevas características.

El otro paso importante es que deberá especificar los ámbitos que desea utilizar. Graph ofrece acceso a todas las API de Microsoft. Entonces, cuando desee, por ejemplo, exportar o ver los usuarios de Azure AD, solo necesita tener el permiso User.Read.All.

Búsqueda de ámbitos de Microsoft Graph

Encontrar el alcance correcto puede ser un poco desafiante al principio. Pero hay dos buenas fuentes que puede usar para determinar qué ámbitos necesitará especificar:

  • Explorador de gráficos de Microsoft
  • Referencia de la API Rest de Microsoft Graph

Microsoft Graph Explorer es una excelente herramienta para probar las llamadas API a Microsoft Graph. Viene con muchos ejemplos de llamadas para ayudarlo a comenzar. Pero también enumerará el permiso requerido para la llamada.

  1. Abre el Explorador de gráficos
  2. Seleccione un Consulta de muestra En el lado izquierdo
  3. Hacer clic Modificar permisos pestaña
Explorador de gráficos de Microsoft

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 el Referencia de la API de descanso. Puede seleccionar en el menú de la izquierda una de las entidades con las que desea trabajar y luego ver los permisos necesarios. No es necesario que agregue todos los ámbitos, se enumeran de menos a más privilegiados.

Conexión a MgGraph en PowerShell

Ahora sabemos qué perfil queremos usar y cómo encontrar el alcance que necesitamos. Entonces, conectémonos a Microsoft Graph.

Primero, debemos configurar la versión de API que queremos usar. Voy a usar la versión Beta, pero si desea crear un script para producción, no necesitará seleccionarlo.

Select-MgProfile -Name "beta"

# To switch back to production use:
Select-MgProfile -Name "v1.0"

A continuación, queremos conectarnos a Graph con los ámbitos que necesitamos:

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.

Otorgar permiso a Microsoft Graph PowerShell

Ahora puede usar la API Graph. Cuando trabaja con Graph en PowerShell, puede agregar ámbitos adicionales a su sesión simplemente usando el Connect-MsGraph command de nuevo con los nuevos permisos.

Terminando

Puede ser un poco difícil 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.

Al momento de escribir, 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 le haya ayudado a comenzar con el módulo MgGraph. Si tiene alguna pregunta, simplemente deje un comentario a continuación.

Otros artículos relacionados

Cómo agregar o configurar MailboxFolderPermission con PowerShell

Cómo agregar o configurar MailboxFolderPermission con PowerShell

En Exchange Online podemos compartir buzones completos con otros usuarios. Pero, ¿qué sucede si desea compartir solo una carpeta? ¿O ...
Leer Más
Cómo exportar a un archivo con PowerShell Out-File

Cómo exportar a un archivo con PowerShell Out-File

La salida de los comandos de PowerShell se muestra de forma predeterminada en el terminal. Pero en algunas situaciones, es ...
Leer Más
Obtenga el informe de métricas de almacenamiento de OneDrive con PowerShell

Obtenga el informe de métricas de almacenamiento de OneDrive con PowerShell

¿Sabe cuánto almacenamiento de OneDrive utilizan sus usuarios? Probablemente no, y en la mayoría de los casos, tampoco importa. Obtienen ...
Leer Más
Buzón: cambie la configuración del buzón con PowerShell

Buzón: cambie la configuración del buzón con PowerShell

El cmdlet Set-Mailbox en PowerShell nos permite cambiar la configuración del buzón en Exchange Server y Exchange Online. Podemos usar ...
Leer Más
Cómo instalar el módulo Azure AD en PowerShell

Cómo instalar el módulo Azure AD en PowerShell

Cuando desee utilizar PowerShell para interactuar con su entorno de Azure AD, deberá instalar el módulo de Azure AD. Este ...
Leer Más
Guía y scripts de desinstalación, reinstalación y limpieza de Microsoft Teams

Guía y scripts de desinstalación, reinstalación y limpieza de Microsoft Teams

Microsoft Teams no es como un programa promedio cuando se trata de instalarlo y desinstalarlo. El problema con Microsoft Teams ...
Leer Más

Deja un comentario