Búsqueda de sitios web

Instalar el módulo Microsoft Graph PowerShell


Microsoft Graph PowerShell reemplaza los módulos Azure AD PowerShell y MSOnline y se recomienda para interactuar con Azure AD. El módulo Microsoft Graph PowerShell es lo que necesita usar al conectarse a Azure AD. En este artículo, aprenderá cómo instalar el módulo Microsoft Graph PowerShell.

Módulo Microsoft Graph PowerShell

El SDK de Microsoft Graph PowerShell se compone de un conjunto de módulos que le permiten interactuar con la API de Microsoft Graph mediante comandos de PowerShell. Los módulos constan de comandos que actúan como contenedores para la API, lo que le permite acceder a todas las características y funcionalidades de la API a través de PowerShell.

Los módulos de Microsoft Graph PowerShell son:

  1. Gráfico de Microsoft

  2. Microsoft Graph Beta

El SDK de Microsoft Graph PowerShell proporciona los siguientes beneficios:

  • Acceso a todas las API de Microsoft Graph: Microsoft Graph PowerShell se basa en la API de Microsoft Graph. Además de Azure AD, Microsoft Graph API incluye API de otros servicios de Microsoft como SharePoint, Exchange y Outlook, a los que se accede a través de un único punto final con un único token de acceso.

  • Compatible con PowerShell 7: Microsoft Graph PowerShell funciona con PowerShell 7 y versiones posteriores. También es compatible con Windows PowerShell 5.1.

  • Compatibilidad multiplataforma: Microsoft Graph PowerShell funciona en todas las plataformas, incluidas Windows, macOS y Linux.

  • Admite autenticación moderna: Microsoft Graph PowerShell es compatible con la Biblioteca de autenticación de Microsoft (MSAL), que ofrece más seguridad. Por ejemplo, puede utilizar experiencias de inicio de sesión sin contraseña.

  • Admite identidades externas: los usuarios de otros inquilinos de Azure AD pueden autenticarse en los servicios de su inquilino con Microsoft Graph PowerShell.

  • Utiliza privilegios mínimos: los permisos de Microsoft Graph PowerShell no están autorizados previamente y los usuarios deben realizar una solicitud única de permisos de aplicaciones según sus necesidades.

  • Consultas avanzadas: Microsoft Graph PowerShell admite consultas avanzadas y enriquecidas a través de una eventual coherencia. Por ejemplo, puede obtener un recuento casi instantáneo de todos los usuarios mediante consultas avanzadas.

  • Código abierto: los equipos de funciones y la comunidad pueden crear excelentes experiencias de PowerShell y compartirlas con todos.

  • Recibe actualizaciones periódicas: los comandos de Microsoft Graph PowerShell se actualizan periódicamente para admitir las últimas actualizaciones de Graph API.

Instalar el módulo Microsoft Graph PowerShell

Antes de poder instalar el módulo Microsoft Graph PowerShell, debemos configurar el sistema.

Requisitos previos del módulo Microsoft Graph PowerShell

Se requieren los siguientes requisitos previos para utilizar el SDK de Microsoft Graph PowerShell con Windows PowerShell:

  • Actualice a PowerShell 5.1 o posterior

  • Instale .NET Framework 4.7.2 o posterior

Establecer la política de ejecución de Windows PowerShell

De forma predeterminada, no podemos instalar scripts. Para exigir que todos los scripts de PowerShell que descargue de Internet estén firmados por un editor confiable, ejecute PowerShell como administrador y ejecute el cmdlet. Presione Y y presione Entrar.

PS C:\> Set-ExecutionPolicy RemoteSigned

Execution Policy Change
The execution policy helps protect you from scripts that you do not trust. Changing the execution policy might expose
you to the security risks described in the about_Execution_Policies help topic at
http://go.microsoft.com/fwlink/?LinkID=135170. Do you want to change the execution policy?
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "N"): Y

Importante: Cierre y vuelva a abrir la ventana elevada de Windows PowerShell para que se apliquen los cambios.

Instalar el módulo PowerShellGet

Ejecute PowerShell como administrador. Ejecute el comando Install-Module PowershellGet -Force. Cuando se le solicite instalar el proveedor NuGet, presione Y y siga con Enter.

PS C:\> Install-Module PowershellGet -Force

NuGet provider is required to continue
PowerShellGet requires NuGet provider version '2.8.5.201' or newer to interact with NuGet-based repositories. The NuGet provider must be available in 'C:\Program Files\PackageManagement\ProviderAssemblies' or
'C:\Users\administrator.EXOIP\AppData\Local\PackageManagement\ProviderAssemblies'. You can also install the NuGet provider by running 'Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force'. Do you want PowerShellGet to install
and import the NuGet provider now?
[Y] Yes  [N] No  [S] Suspend  [?] Help (default is "Y"): Y

Si recibe un error que indica que no se puede instalar, lea el artículo No se puede instalar el proveedor NuGet para PowerShell.

Instalar el módulo Microsoft Graph

Instale el módulo Microsoft Graph. Pulsa Y y Entrar.

PS C:\> Install-Module Microsoft.Graph -Force

Es posible que la descarga e instalación del módulo Microsoft Graph PowerShell tarde algún tiempo. Así que dale un par de minutos.

Nota: Recomendamos instalar también el módulo Microsoft Graph Beta en el siguiente paso. Esto se debe a que algunos cmdlets aún no están disponibles en la versión 2.x final y no funcionarán.

Instalar el módulo Microsoft Graph Beta

Instale el módulo Beta de Microsoft Graph. Pulsa Y y Entrar.

Ejecute Install-Module con los parámetros -AllowClobber y -Force para evitar conflictos al actualizar desde otras versiones del módulo. Este puede ser el caso al actualizar de v1.x a v2.x.

PS C:\> Install-Module Microsoft.Graph.Beta -AllowClobber -Force

Es posible que la descarga e instalación del módulo Microsoft Graph PowerShell tarde algún tiempo. Así que dale un par de minutos.

Conéctese a Microsoft Graph PowerShell

Conéctese a Microsoft Graph PowerShell usando el módulo con o sin MFA.

Nota: Recomendamos habilitar MFA (autenticación multifactor) en las cuentas.

Conéctese con su cuenta de administrador a Microsoft Graph para poder acceder a los recursos de Azure Active Directory (Azure AD). Ejecute el cmdlet Connect-MgGraph.

PS C:\> Connect-MgGraph -Scopes 'User.Read.All'

En la ventana de inicio de sesión que se abre, ingrese su contraseña y luego haga clic en Iniciar sesión.

Si MFA está habilitado, se genera y entrega un código de verificación según la opción de respuesta de verificación configurada para su cuenta. Por ejemplo, un mensaje de texto o la aplicación Azure Authenticator en su teléfono móvil.

Active la casilla de verificación Consentimiento en nombre de su organización. Haga clic en Aceptar.

Una vez que la verificación sea exitosa, volverá a la ventana de PowerShell.

Leer más: Cómo conectarse a Microsoft Graph PowerShell con diferentes métodos »

Obtenga detalles de la sesión actual de Microsoft Graph

Descargue el script de PowerShell Get-MgInfo.ps1 y guárdelo en la carpeta C:\scripts.

Asegúrese de que el archivo esté desbloqueado para evitar errores al ejecutar el script. Lea más en el artículo Error sin firma digital al ejecutar el script de PowerShell.

Otra opción es copiar y pegar el siguiente código en el Bloc de notas. Asígnele el nombre Get-MgInfo.ps1 y colóquelo en la carpeta C:\scripts.

Connect-MgGraph

$Details = Get-MgContext
$Scopes = $Details | Select-Object -ExpandProperty Scopes
$Scopes = $Scopes -join ","
$OrgName = (Get-MgOrganization).DisplayName

"Microsoft Graph current session details:"
"---------------------------------------"
"Tenant Id = $($Details.TenantId)"
"Client Id = $($Details.ClientId)"
"Org name = $OrgName"
"App Name = $($Details.AppName)"
"Account = $($Details.Account)"
"Scopes = $Scopes"

Recuperemos los detalles sobre nuestra sesión actual. Ajuste la ruta a la carpeta C:\scripts y ejecute el script de PowerShell Get-MgInfo.ps1.

PS C:\> cd C:\scripts\
PS C:\scripts> .\Get-MgInfo.ps1

Microsoft Graph current session details:
---------------------------------------
Tenant Id = 1d845768-c027-4321-abe5-02f619863465
Client Id = 16d83eec-204b-4c2f-b7e8-234a70dab27e
Org name = exoip365
App Name = Microsoft Graph Command Line Tools
Account = admin@exoip.com
Scopes = openid,profile,User.Read,email,User.Read.All

Si desea comprobar que se ha conectado con Permisos de lectura de todos los usuarios, una forma excelente es ejecutar el cmdlet Get-MgUser y obtener una lista de todos los usuarios.

PS C:\> Get-MgUser -All

Id                                   DisplayName          Mail                           UserPrincipalName              UserType
--                                   -----------          ----                           -----------------              --------
27e679fe-d17e-4786-adc1-1234bc87a847 Aaik Makisako        aaik.makisako@exoip.com        aaik.makisako@exoip.com
35498693-bf7a-4f84-bc66-3219a42effef Aalap Bilimoria      aalap.bilimoria@exoip.com      aalap.bilimoria@exoip.com
3d6152e6-dc9b-4239-9ebd-153008cd4927 Aalyah Marinelarena  aalyah.marinelarena@exoip.com  aalyah.marinelarena@exoip.com
8ecd0481-2e15-4e91-9755-c88d791c2945 Aanisah Serraino     aanisah.serraino@exoip.com     aanisah.serraino@exoip.com
3fad5d32-fcdd-455e-b576-083da0634967 Aarshee Hego         aarshee.hego@exoip.com         aarshee.hego@exoip.com
92918266-5da1-4da5-8cd5-78befeb0d37f Aarun Vesc           aarun.vesc@exoip.com           aarun.vesc@exoip.com
ae442be1-f7fe-499b-9312-e96ca547ded7 Aarzu Venaski        aarzu.venaski@exoip.com        aarzu.venaski@exoip.com

Si desea utilizar Microsoft Graph Beta, el cmdlet es Get-MgBetaUser.

PS C:\> Get-MgBetaUser -All

Desconectar Microsoft Graph

Desconecte la sesión remota de PowerShell cuando haya terminado. Si cierra la ventana del módulo Microsoft Graph PowerShell sin desconectar la sesión, podría utilizar todas las sesiones remotas de PowerShell disponibles y deberá esperar a que caduquen.

PS C:\> Disconnect-MgGraph


ClientId              : 16d83eec-204b-4c2f-b7e8-234a70dab27e
TenantId              : 1d845768-c027-4321-abe5-02f619863465
CertificateThumbprint :
Scopes                : {openid, profile, User.Read, email...}
AuthType              : Delegated
AuthProviderType      : InteractiveBrowser
CertificateName       :
Account               : admin@exoip.com
AppName               : Microsoft Graph Command Line Tools
ContextScope          : CurrentUser
Certificate           :
PSHostVersion         : 5.1.17763.3770

Supongamos que vuelve a ejecutar el cmdlet Disconnect-MgGraph, obtendrá el siguiente resultado porque ya ha cerrado sesión.

PS C:\> Disconnect-MgGraph

Disconnect-MgGraph : No application to sign out from.
At line:1 char:1
+ Disconnect-MgGraph
+ ~~~~~~~~~~~~~~~~
    + CategoryInfo          : CloseError: (:) [Disconnect-MgGraph], ArgumentException
    + FullyQualifiedErrorId : Microsoft.Graph.PowerShell.Authentication.Cmdlets.DisconnectMgGraph

Verifique la versión del módulo Microsoft Graph PowerShell

Verifique que el módulo Microsoft Graph esté instalado y qué versión se está ejecutando.

PS C:\> Get-InstalledModule Microsoft.Graph | ft -AutoSize

Version Name            Repository Description                      
------- ----            ---------- -----------                      
2.0.0   Microsoft.Graph PSGallery  Microsoft Graph PowerShell module

Verifique que el módulo Microsoft Graph Beta esté instalado y qué versión se está ejecutando.

PS C:\> Get-InstalledModule Microsoft.Graph.Beta | ft -AutoSize

Version Name                 Repository Description                      
------- ----                 ---------- -----------                      
2.0.0   Microsoft.Graph.Beta PSGallery  Microsoft Graph PowerShell module

Actualizar el módulo Microsoft Graph Powershell

Microsoft proporciona actualizaciones para el módulo Microsoft Graph PowerShell y usted debe mantenerlo actualizado.

Nota: Si la actualización no funciona, elimine el módulo Microsoft Graph y salga de todas las sesiones de PowerShell. A continuación, inicie PowerShell e instale Microsoft Graph.

Actualice el módulo SDK de Microsoft Graph PowerShell.

PS C:\> Update-Module Microsoft.Graph

Actualice el módulo SDK de Microsoft Graph Beta PowerShell.

PS C:\> Update-Module Microsoft.Graph.Beta

Desinstalar el módulo Microsoft Graph PowerShell

Para desinstalar todos los módulos de Microsoft Graph PowerShell, incluida la versión beta, ejecute los siguientes comandos paso a paso.

Nota: Debe ejecutar los 4 comandos siguientes para eliminar completamente Microsoft Graph del sistema.

Nota: La desinstalación puede tardar hasta 15 minutos en finalizar. Déjelo funcionando y no cierre la sesión de PowerShell.

Uninstall-Module Microsoft.Graph -AllowPrerelease -AllVersions

Uninstall-Module Microsoft.Graph.Beta -AllowPrerelease -AllVersions # Assuming you have beta modules installed.

Get-InstalledModule Microsoft.Graph.* | %{ if($_.Name -ne "Microsoft.Graph.Authentication"){ Uninstall-Module $_.Name -AllowPrerelease -AllVersions } }

Uninstall-Module Microsoft.Graph.Authentication -AllowPrerelease -AllVersions

Supongamos que recibe el error No se encontró ninguna coincidencia como se muestra a continuación, significa que el módulo Microsoft Graph ya está eliminado. Esto no es un problema y debe continuar con todos los comandos anteriores.

PackageManagement\Uninstall-Package : No match was found for the specified search criteria and module names 'Microsoft.Graph'.
At C:\Program Files\WindowsPowerShell\Modules\PowerShellGet\2.2.5\PSModule.psm1:12733 char:21
+ ...        $null = PackageManagement\Uninstall-Package @PSBoundParameters
+                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (Microsoft.Power...ninstallPackage:UninstallPackage) [Uninstall-Package], Exception
    + FullyQualifiedErrorId : NoMatchFound,Microsoft.PowerShell.PackageManagement.Cmdlets.UninstallPackage

¡Eso es todo!

Sigue leyendo: Habilite el tiempo de espera de la sesión inactiva en Microsoft 365 »

Conclusión

Aprendió a instalar Microsoft Graph PowerShell. Conéctese a Azure AD mediante el módulo Microsoft Graph PowerShell con o sin MFA. Después de conectarse a Microsoft Graph PowerShell, puede usar los cmdlets. Recuerda desconectarte cuando termines.

Disfrutaste este artículo? También te puede interesar Desactivar PowerShell remoto para no administradores. No olvides seguirnos y compartir este artículo.

Artículos relacionados