Condividi tramite


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

Si applica a: Cerchio verde con un segno di spunta bianco. Tenant delle risorse Cerchio bianco con il simbolo X grigio. Tenant esterni (altre informazioni)

Se si usa Collaborazione B2B di Microsoft Entra per lavorare con partner esterni, è possibile invitare nell'organizzazione più utenti guest contemporaneamente tramite il portale o 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 l'ultimo aggiornamento al modulo di Microsoft Graph PowerShell

Assicurarsi di avere installato l'ultima versione del modulo di Microsoft Graph PowerShell.

Controllare innanzitutto 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 cambiare l'ambito dell'installazione usando il parametro -Scope. Questa operazione richiede le 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, come gli indirizzi gmail.com o outlook.com.

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 che mostra le colonne di file csv di Name e 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 "aaaabbbb-0000-cccc-1111-dddd2222eeee". È anche possibile usare il dominio del 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.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
}

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 che mostra l'output di PowerShell che include l'accettazione dell'utente in sospeso.

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, in cui 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 "00aa00aa-bb11-cc22-dd33-44ee44ee44ee"

Passaggi successivi

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