Tutorial: Masseneinladen von Benutzern für die Microsoft Entra B2B-Zusammenarbeit mithilfe von PowerShell

Wenn Sie die Microsoft Entra B2B-Zusammenarbeit für die Arbeit mit externen Partnern verwenden, können Sie über das Portal oder PowerShell mehrere Gastbenutzer gleichzeitig in Ihre Organisation einladen. In diesem Tutorial erfahren Sie, wie Sie mit PowerShell Masseneinladungen an externe Benutzer senden. Das Tutorial umfasst vor allem die folgenden Aufgaben:

  • Vorbereiten einer durch Trennzeichen getrennten CSV-Datei mit den Benutzerinformationen
  • Ausführen eines PowerShell-Skripts zum Senden von Einladungen
  • Überprüfen, ob Benutzer dem Verzeichnis hinzugefügt wurden

Wenn Sie kein Azure-Abonnement besitzen, können Sie ein kostenloses Konto erstellen, bevor Sie beginnen.

Voraussetzungen

Installieren des aktuellen Microsoft Graph PowerShell-Moduls

Stellen Sie sicher, dass Sie die neueste Version des Microsoft Graph PowerShell-Moduls installieren.

Überprüfen Sie zunächst, welche Module Sie installiert haben. Öffnen Sie dafür PowerShell als Benutzer mit erhöhten Rechten („Als Administrator ausführen“), und führen Sie den folgenden Befehl aus:

Get-InstalledModule Microsoft.Graph

Führen Sie den folgenden Befehl aus, um das v1-Modul des SDK in PowerShell Core oder Windows PowerShell zu installieren:

Install-Module Microsoft.Graph -Scope CurrentUser

Optional können Sie den Bereich der Installation mithilfe des Parameters -Scope ändern. Dies erfordert Administratorberechtigungen.

Install-Module Microsoft.Graph -Scope AllUsers

Führen Sie den folgenden Befehl zum Installieren des Beta-Moduls aus.

Install-Module Microsoft.Graph.Beta

Möglicherweise erscheint ein Hinweis, dass Sie das Modul aus einem nicht vertrauenswürdigen Repository installieren. Das passiert, wenn Sie das PSGallery-Repository nicht zuvor als vertrauenswürdiges Repository festgelegt haben. Drücken Sie Y, um das Modul zu installieren.

Einrichten von Test-E-Mail-Konten

Sie benötigen mindestens zwei Test-E-Mail-Konten, an die Sie die Einladungen senden können. Die Konten müssen sich außerhalb Ihrer Organisation befinden. Sie können jede Art von Konto verwenden, einschließlich Konten bei sozialen Netzwerken wie gmail.com- oder outlook.com-Adressen.

Vorbereiten der CSV-Datei

Erstellen Sie in Microsoft Excel eine CSV-Datei mit der Liste der Benutzernamen und E-Mail-Adressen der einzuladenden Personen. Achten Sie darauf, dass Sie die Spaltenüberschriften Name und InvitedUserEmailAddress angeben.

Erstellen Sie beispielsweise ein Arbeitsblatt im folgenden Format:

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

Speichern Sie die Datei unter C:\BulkInvite\Invitations.csv.

Wenn Sie Excel nicht verwenden, können Sie eine CSV-Datei in jedem beliebigen Text-Editor erstellen, z.B. Notepad. Trennen Sie Werte durch Kommas und Zeilen durch eine neue Zeile.

Anmelden im Mandanten

Führen Sie den folgenden Befehl aus, um die Verbindung mit dem Mandanten herzustellen:

Connect-MgGraph -TenantId "<YOUR_TENANT_ID>"

Beispielsweise Connect-MgGraph -TenantId "11111111-aaaa-2222-bbbb-33333333". Sie können auch die Mandantendomäne verwenden, aber der Parameter bleibt die -TenantId. Beispielsweise Connect-MgGraph -TenantId "contoso.onmicrosoft.com".

Geben Sie bei Aufforderung Ihre Anmeldeinformationen ein.

Senden von Masseneinladungen

Führen Sie das folgende PowerShell-Skript aus (mit c:\bulkinvite\invitations.csv als CSV-Dateipfad), um die Einladungen zu senden:

$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
   }

Dieses Skript sendet Einladungen an die E-Mail-Adressen in der Datei „Invitations.csv“. Die Ausgabe sollte für jeden Benutzer ungefähr so aussehen:

Screenshot that shows PowerShell output that includes pending user acceptance.

Überprüfen, ob Benutzer im Verzeichnis vorhanden sind

Um zu überprüfen, ob die eingeladenen Benutzer Microsoft Entra ID hinzugefügt wurden, führen Sie den folgenden Befehl aus:

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

Die von Ihnen eingeladenen Benutzer sollten mit einem Benutzerprinzipalnamen (UPN) im Format E-Mail-Adresse#EXT#@Domäne angezeigt werden. Beispiel: msullivan_fabrikam.com#EXT#@contoso.onmicrosoft.com, wobei contoso.onmicrosoft.com die Organisation ist, für die Sie die Einladungen gesendet haben.

Bereinigen von Ressourcen

Wenn Sie die Testbenutzerkonten nicht mehr benötigen, können Sie sie aus dem Verzeichnis löschen. Führen Sie den folgenden Befehl aus, um ein Benutzerkonto zu löschen:

 Remove-MgUser -UserId "<String>"

Beispiel: Remove-MgUser -UserId "11111111-aaaa-2222-bbbb-33333333"

Nächste Schritte

In diesem Tutorial haben Sie Masseneinladungen an Gastbenutzer außerhalb Ihrer Organisation gesendet. Als Nächstes erfahren Sie, wie Sie Gastbenutzer in großen Mengen über das Portal einladen und MFA für sie erzwingen.