Cómo conectarse a Microsoft Graph PowerShell
Existen diferentes métodos para conectarse a Microsoft Graph PowerShell para administrar su inquilino de Microsoft 365 y Azure. Cuál de los métodos le conviene depende de lo que desee. Un buen ejemplo es conectarse a Microsoft Graph PowerShell para automatizar los scripts de Microsoft Graph PowerShell sin interacción del usuario. En este artículo, aprenderá cómo conectarse a Microsoft Graph PowerShell con tres métodos diferentes.
Requisitos previos
Debe instalar los módulos de Microsoft Graph PowerShell en su sistema.
Inicie Windows PowerShell como administrador y ejecute los siguientes comandos.
Install-Module Microsoft.Graph -ForceInstall-Module Microsoft.Graph.Beta -AllowClobber -ForceImportante: Instale siempre los módulos Microsoft Graph PowerShell y Microsoft Graph Beta PowerShell. Esto se debe a que algunos cmdlets aún no están disponibles en la versión final y no funcionarán. Actualice ambos módulos a la última versión antes de ejecutar un cmdlet o script para evitar errores y resultados incorrectos.
Método 1: cómo conectarse a Microsoft Graph con la interacción del usuario
El primer método es el método que usará la mayor parte del tiempo porque desea conectarse a Microsoft Graph con su cuenta y usar los comandos.
Connect-MgGraph -Scopes "User.Read.All"Verifique con sus credenciales y regresará a la ventana de PowerShell.
Método 2: cómo conectarse a Microsoft Graph con autenticación basada en certificados CBA
El segundo método consiste en registrar una aplicación en Azure con los permisos. Sigamos los pasos a continuación y configuremos la autenticación basada en certificados de Microsoft Graph para scripts desatendidos.
1. Registrar la aplicación en Azure
Para registrar una aplicación en Azure AD, siga estos pasos:
- Inicie sesión en el centro de administración de Microsoft Entra
- Expandir Azure Active Directory
- Haga clic en Aplicaciones > Registros de aplicaciones
- Seleccione Nuevo registro
- Complete el nombre MSGraph-Automation
- Seleccione Cuentas en cualquier directorio organizacional (Cualquier directorio de Azure AD - Multiinquilino) y cuentas personales de Microsoft
- Haga clic en Registrarse
- Aparece la aplicación MSGraph-Automation Descripción general
- Copie la ID de aplicación (ID de cliente) y el ID de directorio (inquilino) y péguelos en el Bloc de notas porque los necesitará más adelante cuando se conecte a Microsoft Graph.
2. Configurar los permisos de la API de la aplicación Azure
Debe agregar permisos API a la aplicación MSGraph-Automation que creó, siguiendo los pasos a continuación:
- Haga clic en Permisos de API > Agregar un permiso
- Seleccione API de Microsoft > Microsoft Graph
- Seleccione Permisos de la aplicación
- Busque usuario.read.all
- Expanda Usuario y seleccione Usuario.Read.All
- Haga clic en Agregar permisos
- Haga clic en Otorgar consentimiento de administrador
- Haga clic en Sí
- El estado muestra una marca de verificación verde
Ahora que la aplicación está registrada y los permisos de la API están configurados, podemos configurar dos métodos de autenticación; Certificado o Secreto de Cliente.
3. Generar certificado autofirmado
Para generar un certificado autofirmado, inicie sesión en cualquier servidor o escritorio de Windows con Windows PowerShell. Es mejor generar el certificado en la máquina en la que desea ejecutar el script de PowerShell desatendido.
Necesitará el certificado autofirmado más adelante en los pasos cuando lo cargue en la aplicación en Azure y si desea utilizar el certificado en otros sistemas.
Nota: De forma predeterminada, los certificados autofirmados son válidos por un año.
En este caso, agregamos 5 años al certificado autofirmado, por lo que no tenemos que renovarlo anualmente.
$mycert = New-SelfSignedCertificate -DnsName "exoip.com" -CertStoreLocation "cert:\LocalMachine\My" -NotAfter (Get-Date).AddYears(5) -KeySpec KeyExchange -FriendlyName "MSGraph Automation"Confirme el certificado, copie la ThumbPrint y péguela en el Bloc de notas. Lo necesitará más adelante cuando se conecte a Microsoft Graph.
$mycert | Select-Object -Property Subject,Thumbprint,NotBefore,NotAfterAsí es como se ve el resultado.
Subject Thumbprint NotBefore NotAfter
------- ---------- --------- --------
CN=exoip.com 384010504F6B495B6D53B1C55DC6C1A7273081AC 7/7/2023 6:14:36 PM 7/7/2028 6:24:36 PMExportar certificado a archivo .cer.
Necesitará ese archivo .cer cuando lo cargue en la aplicación de Azure, que creará en los siguientes pasos.
$mycert | Export-Certificate -FilePath "C:\temp\MSGraphAutomationCert.cer"Aparece la salida.
Directory: C:\temp
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 7/7/2023 6:25 PM 796 MSGraphAutomationCert.cer
Exportar certificado a archivo .pfx.
Necesitará ese archivo .pfx cuando utilice otra máquina para conectarse con la autenticación basada en certificados. Copie o envíe el archivo .pfx e instálelo en otras máquinas.
$mycert | Export-PfxCertificate -FilePath "C:\temp\MSGraphAutomationCert.pfx" -Password $(ConvertTo-SecureString -String "P@ssw0Rd1234" -AsPlainText -Force)Aparece la salida.
Directory: C:\temp
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 7/7/2023 6:26 PM 2717 MSGraphAutomationCert.pfx4. Cargue el certificado en la aplicación
Debe cargar el certificado autofirmado que creó en el paso anterior:
- Haga clic en Certificados y secretos
- Haga clic en Certificados > Cargar certificado
- Haga clic en el icono de exploración y seleccione el archivo autofirmado MSGraphAutomationCert.cer en C:\temp.
- Agregue la descripción Certificado de automatización de MS Graph
- Haga clic en Agregar
- El certificado aparece en la lista.
Nota: Confirme que tenga la misma huella digital del certificado que exportó en el paso anterior.
5. Conéctese a Microsoft Graph con autenticación basada en certificados
Inicie Windows PowerShell ISE o Visual Studio Code y complete las tres variables siguientes para conectarse a Microsoft Graph PowerShell con autenticación basada en certificados:
- $ID de cliente
- $ID de inquilino
- $CertificadoThumbPrint
# Configuration
$ClientId = "0a613e88-a189-4eac-b8c3-055196fd04d6"
$TenantId = "eb403171-a4ec-4d98-a08f-1876318c9deb"
$CertificateThumbprint = "384010504F6B495B6D53B1C55DC6C1A7273081AC"
# Connect to Microsoft Graph with CBA
Connect-MgGraph -ClientId $ClientId -TenantId $TenantId -CertificateThumbprint $CertificateThumbprintAhora que está conectado a Microsoft Graph PowerShell, ejecute el cmdlet Get-MgUser para recuperar los usuarios.
Get-MgUserMétodo 3: cómo conectarse a Microsoft Graph con Client Secret
El tercer método consiste en registrar una aplicación en Azure con los permisos. Sigamos los pasos a continuación y configuremos Microsoft Graph Client Secret para scripts desatendidos.
1. Registrar una aplicación en Azure
Siga el paso anterior para registrar una aplicación en Azure si no lo hizo.
2. Configurar los permisos de la API de la aplicación Azure
Siga el paso anterior para configurar los permisos de la API de la aplicación Azure si no lo hizo.
3. Agregue un secreto de cliente
Debe agregar un secreto de cliente que la aplicación utiliza para demostrar su identidad al solicitar un token.
- Haga clic en Certificados y secretos
- Haga clic en Secretos de cliente > Nuevo secreto de cliente.
- Dale la descripción Secreto de automatización de MS Graph
- Seleccione la fecha de vencimiento 730 días (24 meses)
- Haga clic en Agregar
- Copie el Valor secreto del cliente y péguelo en el Bloc de notas porque lo necesitará en el siguiente paso al conectarse a Microsoft Graph.
4. Conéctese a Microsoft Graph con Client Secret
Inicie Windows PowerShell ISE o Visual Studio Code y complete las tres variables siguientes para conectarse a Microsoft Graph PowerShell con Client Secret:
- $ID de cliente
- $ID de inquilino
- $ClienteSecreto
# Configuration
$ClientId = "0a613e88-a189-4eac-b8c3-055196fd04d6"
$TenantId = "eb403171-a4ec-4d98-a08f-1876318c9deb"
$ClientSecret = "Kos8Q~nVLcjmmyGSY68qDg4zbdF8f51L2EM50ac5"
# Convert the client secret to a secure string
$ClientSecretPass = ConvertTo-SecureString -String $ClientSecret -AsPlainText -Force
# Create a credential object using the client ID and secure string
$ClientSecretCredential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $ClientId, $ClientSecretPass
# Connect to Microsoft Graph with Client Secret
Connect-MgGraph -TenantId $tenantId -ClientSecretCredential $ClientSecretCredentialAhora que está conectado a Microsoft Graph PowerShell, ejecute el cmdlet Get-MgUser para recuperar los usuarios.
Get-MgUser¡Eso es todo!
Leer más: Renovar el secreto del cliente en Microsoft Entra ID »
Conclusión
Aprendió a conectarse a Microsoft Graph PowerShell con tres métodos. Siga la guía paso a paso y podrá autenticarse con Microsoft Graph PowerShell con interacción del usuario (método 1) o sin interacción del usuario para scripts desatendidos (método 2/3). Es excelente trabajar con todos estos métodos.
¿Disfrutaste este artículo? También te puede gustar Crear usuarios de Microsoft Entra ID desde CSV con PowerShell. No olvides seguirnos y compartir este artículo.











