Tutorial: Uso de PowerShell para invitar en bloque a usuarios de colaboración de Microsoft Entra B2B

Se aplica a: Círculo verde con un símbolo de marca de verificación blanca. Inquilinos de personal Círculo blanco con un símbolo X gris. Inquilinos externos (obtener más información)

Si usa la colaboración de Microsoft Entra B2B para trabajar con asociados externos, puede invitar a varios usuarios a su organización al mismo tiempo mediante el portal o PowerShell. En este tutorial, obtendrá información sobre cómo usar PowerShell para enviar invitaciones de forma masiva a usuarios externos. En particular, haga lo siguiente:

  • Prepare un archivo de valores separados por comas (.csv) con la información de usuario
  • Ejecute un script de PowerShell para enviar invitaciones
  • Verifique si los usuarios se agregaron al directorio

Si no tiene una suscripción a Azure, cree una cuenta gratuita antes de empezar.

Requisitos previos

Instalación del módulo de PowerShell de Microsoft Graph más reciente

Asegúrese de instalar la versión más reciente del módulo de PowerShell de Microsoft Graph.

En primer lugar, compruebe qué módulos ha instalado. Abra PowerShell como un usuario con privilegios elevados (Ejecutar como administrador) y ejecute el comando siguiente:

Get-InstalledModule Microsoft.Graph

Para instalar el módulo v1 del SDK en PowerShell Core o Windows PowerShell, ejecute el siguiente comando:

Install-Module Microsoft.Graph -Scope CurrentUser

Opcionalmente, puede cambiar el ámbito de la instalación mediante el parámetro -Scope. Esto requiere permisos de administrador.

Install-Module Microsoft.Graph -Scope AllUsers

Para instalar el módulo beta, ejecute el siguiente comando.

Install-Module Microsoft.Graph.Beta

Puede recibir un mensaje que indica que está instalando el módulo desde un repositorio de confianza. Esto se produce si el repositorio de PSGallery no se ha establecido previamente como un repositorio de confianza. Presione Y para instalar el módulo.

Obtención de cuentas de correo electrónico de prueba

Necesita dos o más cuentas de correo electrónico de prueba a las que poder enviar las invitaciones. Las cuentas deben estar fuera de su organización. Puede usar cualquier tipo de cuenta, incluidas las cuentas sociales como las direcciones de gmail.com o outlook.com.

Preparación del archivo CSV

En Microsoft Excel, cree un archivo CSV con la lista de nombres de usuarios invitados y las direcciones de correo electrónico. Asegúrese de incluir los encabezados de columna Nombre e InvitedUserEmailAddress.

Por ejemplo, cree una hoja de cálculo con el formato siguiente:

Captura de pantalla en la que se muestran las columnas de archivo csv de Name e InvitedUserEmailAddress.

Guarde el archivo como C:\BulkInvite\Invitations.csv.

Si no tiene Excel, puede crear un archivo CSV en cualquier editor de texto como el Bloc de notas. Separe cada valor con una coma y cada fila con una línea nueva.

Inicio de sesión en su inquilino

Ejecute el siguiente comando para conectarse al inquilino:

Connect-MgGraph -TenantId "<YOUR_TENANT_ID>"

Por ejemplo, Connect-MgGraph -TenantId "aaaabbbb-0000-cccc-1111-dddd2222eeee". También puede usar el dominio de inquilino, pero el parámetro sigue siendo -TenantId. Por ejemplo, Connect-MgGraph -TenantId "contoso.onmicrosoft.com".

Cuando se le solicite, escriba las credenciales.

Envío de invitaciones en masa

Para enviar las invitaciones, ejecute el siguiente script de PowerShell (donde c:\bulkinvite\invitations.csv es la ruta de acceso al archivo .csv):

$invitations = import-csv c:\bulkinvite\invitations.csv

$messageInfo = New-Object Microsoft.Graph.PowerShell.Models.MicrosoftGraphInvitedUserMessageInfo

$messageInfo.customizedMessageBody = "Hello. You are invited to the Contoso organization."

foreach ($email in $invitations) {
	New-MgInvitation 
      -InvitedUserEmailAddress $email.InvitedUserEmailAddress `
		-InvitedUserDisplayName $email.Name `
		-InviteRedirectUrl https://myapplications.microsoft.com/?tenantid=aaaabbbb-0000-cccc-1111-dddd2222eeee `
		-InvitedUserMessageInfo $messageInfo `
		-SendInvitationMessage
}

El script enviará una invitación a las direcciones de correo electrónico del archivo Invitations.csv. Debería ver una salida similar a la siguiente para cada usuario:

Captura de pantalla que muestra la salida de PowerShell, con la aceptación pendiente por parte del usuario.

Verificación de la existencia de los usuarios en el directorio

Para verificar que se agregaron los usuarios invitados a Microsoft Entra ID, ejecute el siguiente comando:

 Get-MgUser -Filter "UserType eq 'Guest'"

Debería ver los usuarios invitados en la lista, con un nombre principal de usuario (UPN) con el formato emailaddress#EXT#@dominio. Por ejemplo, msullivan_fabrikam.com#EXT#@contoso.onmicrosoft.com, donde contoso.onmicrosoft.com es la organización desde la que se enviaron las invitaciones.

Limpieza de recursos

Cuando ya no sean necesarias, puede eliminar las cuentas de usuario de prueba del directorio. Ejecute el siguiente comando para eliminar una cuenta de usuario:

 Remove-MgUser -UserId "<String>"

Por ejemplo: Remove-MgUser -UserId "00aa00aa-bb11-cc22-dd33-44ee44ee44ee"

En este tutorial, ha enviado invitaciones en masa a usuarios invitados fuera de la organización. A continuación, aprenda a invitar de forma masiva a usuarios invitados en el portal y a aplicar MFA para ellos.