Esercitazione: Usare PowerShell per invitare in blocco gli utenti di Collaborazione B2B di Microsoft Entra B2B

Se si usa Microsoft Entra B2B Collaboration per collaborare con partner esterni, è possibile invitare più utenti guest all'organizzazione contemporaneamente tramite il portale o tramite PowerShell. In questa esercitazione si apprenderà come usare PowerShell per inviare inviti in blocco a utenti esterni. In particolare, si eseguiranno le operazioni seguenti:

  • Preparare un file con valori delimitati da virgole (CSV) con le informazioni utente
  • Eseguire uno script PowerShell per inviare gli inviti
  • Verificare che gli utenti siano stati aggiunti alla directory

Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.

Prerequisiti

Installare il modulo PowerShell più recente di Microsoft Graph

Assicurarsi di installare la versione più recente del modulo Microsoft Graph PowerShell.

Prima di tutto, controllare quali moduli sono stati installati. Aprire PowerShell come utente con privilegi elevati (Esegui come amministratore) ed eseguire il comando seguente:

Get-InstalledModule Microsoft.Graph

Per installare il modulo v1 dell'SDK in PowerShell Core o Windows PowerShell, eseguire il comando seguente:

Install-Module Microsoft.Graph -Scope CurrentUser

Facoltativamente, è possibile modificare l'ambito dell'installazione usando il -Scope parametro . Ciò richiede autorizzazioni di amministratore.

Install-Module Microsoft.Graph -Scope AllUsers

Per installare il modulo beta, eseguire il comando seguente.

Install-Module Microsoft.Graph.Beta

Potrebbe essere visualizzato un prompt che indica che si sta installando il modulo da un repository non attendibile. Ciò si verifica se il repository PSGallery non è stato precedentemente impostato come repository attendibile. Premere Y per installare il modulo.

Ottenere account di posta elettronica di test

Sono necessari almeno due account di posta elettronica di test a cui inviare gli inviti. Gli account devono essere esterni all'organizzazione. È possibile usare qualsiasi tipo di account, inclusi gli account di social networking, ad gmail.com esempio o outlook.com gli indirizzi.

Preparare il file CSV

In Microsoft Excel creare un file CSV con l'elenco dei nomi utente e degli indirizzi di posta elettronica degli invitati. Assicurarsi di includere le intestazioni di colonna Name e InvitedUserEmailAddress.

Ad esempio, creare un foglio di lavoro nel formato seguente:

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

Salvare il file come C:\BulkInvite\Invitations.csv.

Se non è disponibile Excel, è possibile creare un file CSV con qualsiasi editor di testo, come ad esempio il Blocco note. Separare ogni valore con una virgola e ogni riga con una nuova riga.

Accedere al tenant

Eseguire il comando seguente per connettersi al tenant:

Connect-MgGraph -TenantId "<YOUR_TENANT_ID>"

Ad esempio: Connect-MgGraph -TenantId "11111111-aaaa-2222-bbbb-33333333". È anche possibile usare il dominio tenant, ma il parametro rimane .-TenantId Ad esempio: Connect-MgGraph -TenantId "contoso.onmicrosoft.com".

Quando viene richiesto, immetti le credenziali.

Inviare inviti in blocco

Per inviare gli inviti, eseguire lo script PowerShell seguente (in cui c:\bulkinvite\invitations.csv è il percorso del file 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
   }

Lo script invia un invito agli indirizzi di posta elettronica presenti nel file Invitations.csv. L'output dovrebbe essere simile all'esempio seguente per ogni utente:

Screenshot that shows PowerShell output that includes pending user acceptance.

Verificare che gli utenti esistano nella directory

Per verificare che gli utenti invitati siano stati aggiunti a Microsoft Entra ID, eseguire il comando seguente:

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

Dovrebbero essere elencati gli utenti invitati, con il nome dell'entità utente nel formato indirizzopostaelettronica#EXT#@dominio. Ad esempio, msullivan_fabrikam.com#EXT#@contoso.onmicrosoft.com, dove contoso.onmicrosoft.com è l'organizzazione da cui sono stati inviati gli inviti.

Pulire le risorse

Quando non sono più necessari, è possibile eliminare gli account utente di test dalla directory. Eseguire il comando seguente per eliminare un account utente:

 Remove-MgUser -UserId "<String>"

Ad esempio: Remove-MgUser -UserId "11111111-aaaa-2222-bbbb-33333333"

Passaggi successivi

In questa esercitazione sono stati inviati inviti in blocco ad utenti guest all'esterno dell'organizzazione. Di seguito viene descritto come invitare in blocco gli utenti guest nel portale e come applicare l'autenticazione a più fattori per tali utenti.