Tutoriel : Utiliser PowerShell pour inviter en masse des utilisateurs de la collaboration Microsoft Entra B2B

Si vous utilisez la collaboration Microsoft Entra B2B pour travailler avec des partenaires externes, vous pouvez inviter plusieurs utilisateurs invités dans votre organisation en même temps via le portail ou via PowerShell. Dans ce tutoriel, vous découvrez comment utiliser PowerShell pour envoyer des invitations en bloc à des utilisateurs externes. Vous effectuez les étapes suivantes :

  • Préparer un fichier de valeurs séparées par des virgules (.csv) avec les informations des utilisateurs
  • Exécuter un script PowerShell pour envoyer les invitations
  • Vérifier que les utilisateurs ont été ajoutés à l’annuaire

Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer.

Prérequis

Installez le dernier module PowerShell pour Microsoft Graph

Veillez à installer la dernière version du module PowerShell pour Microsoft Graph.

Vérifiez d’abord les modules que vous avez installés. Ouvrez PowerShell en tant qu’utilisateur avec privilèges élevés (Exécuter en tant qu’administrateur) et exécutez la commande suivante :

Get-InstalledModule Microsoft.Graph

Pour installer le module v1 du Kit de développement logiciel (SDK) dans PowerShell Core ou Windows PowerShell, exécutez la commande suivante :

Install-Module Microsoft.Graph -Scope CurrentUser

Si vous le souhaitez, vous pouvez modifier l’étendue de l’installation à l’aide du paramètre -Scope. Cela nécessite des autorisations d’administrateur.

Install-Module Microsoft.Graph -Scope AllUsers

Pour installer le module bêta, exécutez la commande suivante.

Install-Module Microsoft.Graph.Beta

Vous pouvez recevoir une invite indiquant que vous installez le module à partir d’un dépôt non approuvé. Ce cas se produit si vous n’aviez pas configuré le dépôt PSGallery comme dépôt fiable. Appuyez sur Y pour installer le module.

Obtenir des comptes de messagerie de test

Vous avez besoin d’au moins deux comptes de messagerie de test auxquels vous pouvez envoyer les invitations. Les comptes doivent être externes à votre organisation. Vous pouvez utiliser tout type de compte, notamment des comptes sociaux, comme des adresses gmail.com ou outlook.com.

Préparer le fichier CSV

Dans Microsoft Excel, créez un fichier CSV avec la liste des noms et des adresses e-mail des utilisateurs invités. Veillez à inclure les en-têtes de colonne Name et InvitedUserEmailAddress.

Par exemple, créez une feuille de calcul dans le format suivant :

Screenshot that shows the csv file columns of Name and InvitedUserEmailAddress.

Enregistrez le fichier sous C:\BulkInvite\Invitations.csv.

Si vous n’avez pas Excel, vous pouvez créer un fichier CSV dans n’importe quel éditeur de texte, comme le Bloc-notes. Séparez chaque valeur avec une virgule et chaque ligne avec une nouvelle ligne.

Connectez-vous à votre locataire

Exécutez la commande suivante pour vous connecter au locataire :

Connect-MgGraph -TenantId "<YOUR_TENANT_ID>"

Par exemple : Connect-MgGraph -TenantId "11111111-aaaa-2222-bbbb-33333333". Vous pouvez également utiliser le domaine du locataire, mais le paramètre reste le -TenantId. Par exemple : Connect-MgGraph -TenantId "contoso.onmicrosoft.com".

À l’invite, entrez vos informations d’identification.

Envoyer des invitations en bloc

Pour envoyer les invitations, exécutez le script PowerShell suivant (où c:\bulkinvite\invitations.csv est le chemin du fichier CSV) :

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

$messageInfo = New-Object Microsoft.Open.MSGraph.Model.InvitedUserMessageInfo

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

foreach ($email in $invitations)
   {New-MgInvitation `
      -InvitedUserEmailAddress $email.InvitedUserEmailAddress `
      -InvitedUserDisplayName $email.Name `
      -InviteRedirectUrl https://myapps.microsoft.com `
      -InvitedUserMessageInfo $messageInfo `
      -SendInvitationMessage $true
   }

Le script envoie une invitation aux adresses e-mail du fichier Invitations.csv. Vous devez voir une sortie similaire à ceci pour chaque utilisateur :

Screenshot that shows PowerShell output that includes pending user acceptance.

Vérifier que les utilisateurs existent dans l’annuaire

Pour vérifier que les utilisateurs invités ont été ajoutés à Microsoft Entra ID, exécutez la commande suivante :

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

Vous devez y voir figurer les utilisateurs que vous avez invités, avec un nom d’utilisateur principal (UPN) au format adresse_e-mail#EXT#@domaine. Par exemple, msullivan_fabrikam.com#EXT#@contoso.onmicrosoft.com, où contoso.onmicrosoft.com est l’organisation à partir de laquelle vous avez envoyé les invitations.

Nettoyer les ressources

Quand vous n’en avez plus besoin, vous pouvez supprimer les comptes d’utilisateur de test dans l’annuaire. Exécutez la commande suivante pour supprimer un compte d’utilisateur :

 Remove-MgUser -UserId "<String>"

Par exemple : Remove-MgUser -UserId "11111111-aaaa-2222-bbbb-33333333"

Étapes suivantes

Dans ce tutoriel, vous avez envoyé des invitations en bloc à des utilisateurs invités en dehors de votre organisation. Ensuite, découvrez comment inviter en bloc des utilisateurs invités sur le portail et comment appliquer l’authentification multifacteur pour eux.