Connettersi a PowerShell per Exchange Online

Il modulo PowerShell V2 di Exchange Online, abbreviato come modulo EXO V2, usa l'autenticazione moderna e funziona con l'autenticazione a più fattori per la connessione a tutti gli ambienti di PowerShell correlati a Exchange in Microsoft 365: PowerShell di Exchange Online, PowerShell di sicurezza e conformità e PowerShell autonomi di Exchange Online Protection (EOP). Per altre informazioni sul modulo EXO V2, vedere Informazioni sul modulo PowerShell V2 di Exchange Online.

Questo articolo contiene le istruzioni per connettersi a PowerShell di Exchange Online tramite il modulo EXO V2 con o senza MFA.

Per usare le istruzioni di connessione remote di PowerShell meno recenti e meno sicure, che a breve non saranno più approvate, vedere Autenticazione di base-Connetti a PowerShell.

Per utilizzare il modulo Remote PowerShell precedente di Microsoft Exchange Online per connettersi a PowerShell di Exchange Online utilizzando MFA, vedere il modulo V1 - Connetti a PowerShell di Exchange Online utilizzando MFA. Si noti che la versione precedente del modulo verrà ritirata.

Che cosa è necessario sapere prima di iniziare?

  • I requisiti per l'installazione e l'uso del modulo EXO V2 sono descritti in Installazione e gestione del modulo V2 EXO.

    Nota

    Il resto delle istruzioni nell'articolo presuppone che il modulo sia già stato installato.

  • In seguito alla connessione, i cmdlet e i parametri per cui si dispone o meno dell'accesso vengono controllati dal controllo degli accessi in base al ruolo. Per ulteriori informazioni, vedere Autorizzazioni in Exchange Online.

    Per individuare le autorizzazioni necessarie per eseguire cmdlet specifici di Exchange Online, vedere Trovare le autorizzazioni necessarie per eseguire i cmdlet di Exchange.

  • Se l'organizzazione è Exchange locale ed è disponibile una licenza di Exchange Enterprise CAL con servizi per Exchange Online Protection (EOP), le istruzioni per la connessione a EOP PowerShell sono identiche a PowerShell di Exchange Online, come descritto in questo articolo.

Suggerimento

Problemi? Chiedere nel forum Exchange Online.

Connettersi a PowerShell per Exchange Online usando l'autenticazione moderna con o senza l’autenticazione a più fattori

Queste istruzioni di connessione usano l’autenticazione moderna e funzionano con o senza l’autenticazione a più fattori (MFA).

Per altri metodi di accesso disponibili in PowerShell 7, vedere la sezione Esperienze di accesso a PowerShell 7 più avanti in questo argomento.

  1. In una finestra di PowerShell caricare il modulo EXO V2 eseguendo il comando seguente:

    Import-Module ExchangeOnlineManagement
    

    Note:

    • Se si è già installato il modulo EXO V2, il comando precedente funzionerà come descritto.
    • Potrebbe essere possibile saltare questo passaggio ed eseguire Connect-ExchangeOnline senza il precedente caricamento del modulo.
  2. Il comando da eseguire utilizza la sintassi seguente:

    Connect-ExchangeOnline -UserPrincipalName <UPN> [-ShowBanner:$false] [-ExchangeEnvironmentName <Value>] [-DelegatedOrganization <String>] [-PSSessionOption $ProxyOptions]
    
    • <UPN> è il proprio account in formato del nome dell'entità utente, (ad esempio navin@contoso.com).
    • Se si usa il parametro ExchangeEnvironmentName, non è necessario usare i parametri ConnectionUri o AzureADAuthorizationEndPointUrl. Per ulteriori informazioni, vedere le descrizioni dei parametri in Connect-ExchangeOnline.
    • Il parametro DelegatedOrganization specifica l'organizzazione che si vuole gestire come partner Microsoft autorizzato. Per altre informazioni, vedere Partner.
    • Se si è protetti da un server proxy, eseguire prima questo comando: $ProxyOptions = New-PSSessionOption -ProxyAccessType <Value>, dove <Value> è IEConfig, WinHttpConfig o AutoDetect. Quindi, usare il parametro PSSessionOption con il valore $ProxyOptions. Per altre informazioni, vedere New-PSSessionOption.
    • Spesso è possibile omettere il parametro UserPrincipalName nel passaggio successivo per immettere sia il nome utente che la password dopo aver eseguito il comando Connect-ExchangeOnline. Se questa operazione non funziona, è necessario usare il parametro UserPrincipalName.
    • Se non si sta utilizzando l’autenticazione a più fattori, spesso è possibile usare il parametro Credential invece del parametro UserPrincipalName. Per prima cosa, eseguire il comando $Credential = Get-Credential, immettere nome utente e password, quindi usare il nome variabile per il parametro Credential (-Credential $Credential). Se questa operazione non funziona, è necessario usare il parametro UserPrincipalName.

    Questo esempio consente di connettersi a PowerShell di Exchange online in un'organizzazione di Microsoft 365 o Microsoft 365 GCC:

    Connect-ExchangeOnline -UserPrincipalName navin@contoso.com
    

    Questo esempio consente di connettersi a PowerShell di Exchange online in un'organizzazione di Microsoft 365 Germany:

    Connect-ExchangeOnline -UserPrincipalName lukas@fabrikam.de -ExchangeEnvironmentName O365GermanyCloud
    

    Questo esempio consente di connettersi a PowerShell di Exchange online in un'organizzazione di Microsoft GCC High:

    Connect-ExchangeOnline -UserPrincipalName laura@blueyonderairlines.us -ExchangeEnvironmentName O365USGovGCCHigh
    

    Questo esempio consente di connettersi a PowerShell di Exchange online in un'organizzazione di Microsoft 365 DoD:

    Connect-ExchangeOnline -UserPrincipalName julia@adatum.mil -ExchangeEnvironmentName O365USGovDoD
    

    Questo esempio consente di connettersi a PowerShell di Exchange online per gestire un altro tenant:

    Connect-ExchangeOnline -UserPrincipalName navin@contoso.com -DelegatedOrganization adatum.onmicrosoft.com
    
  3. Nella finestra di accesso che viene visualizzata, immettere la password, quindi fare clic su Accedi.

    Immettere la password nella finestra Accedi al tuo account

  4. Solo per l’autenticazione a più fattori: un codice di verifica viene creato e fornito in base all'opzione di risposta configurata per l'account in uso (ad esempio, un messaggio di testo o l'app Microsoft Authenticator sul dispositivo).

    Nella finestra di verifica che viene visualizzata, immettere il codice di verifica, quindi fare clic su Verifica.

    Immettere il codice di verifica nella finestra Accedi al tuo account

Per informazioni dettagliate su sintassi e parametri, vedere Connect-ExchangeOnline.

Nota

Al termine ricordare di chiudere la sessione PowerShell remota. Chiudendo la finestra di PowerShell senza disconnettere la sessione, si rischia di esaurire tutte le sessioni PowerShell remote disponibili e attendere la scadenza delle sessioni. Per disconnettere la sessione PowerShell remota, eseguire il seguente comando.

Disconnect-ExchangeOnline

Esperienze di accesso a PowerShell 7

Questa sezione descrive le esperienze di accesso disponibili nella versione 2.0.4 o successiva del modulo EXO V2 in PowerShell 7.

Per altre informazioni sui sistemi operativi supportati dal modulo EXO V2 in PowerShell 7, vedere Sistemi operativi supportati per il modulo EXO V2.

Per informazioni dettagliate su sintassi e parametri, vedere Connect-ExchangeOnline.

Script interattivi tramite Single Sign-On basato su browser

Il Single Sign-On basato su browser (SSO) è il metodo di accesso predefinito in PowerShell 7. Il comando Connect-ExchangeOnline apre la pagina di accesso di Azure AD nel browser predefinito. Dopo aver immesso le credenziali, i cmdlet di Exchange Online più vecchi e i cmdlet dei moduli di EXO V2 sono disponibili nella sessione di PowerShell risultante.

Se viene usato il parametro UserPrincipalName nel comando, il valore UPN viene usato nella pagina di accesso nel browser.

Connect-ExchangeOnline -UserPrincipalName navin@contoso.onmicrosoft.com

Accesso basato su dispositivo

Usare l’accesso basato sul dispositivo se non è disponibile alcun browser e non è possibile visualizzare la pagina di accesso:

Connect-ExchangeOnline -Device

Il comando restituisce un URL e un codice univoco associato alla sessione. È necessario aprire l'URL in un browser in qualsiasi computer e immettere il codice univoco. Dopo aver completato l'accesso nel Web browser, la sessione nella finestra di Powershell 7 viene autenticata tramite il normale flusso di autenticazione di Azure AD, e i cmdlet di Exchange Online vengono importati dopo alcuni secondi.

Credenziali incorporate

È possibile immettere le credenziali direttamente nella finestra di PowerShell senza la necessità di accedere al browser per SSO.

Nota

Questo metodo non funziona con gli account che usano l'autenticazione a più fattori.

Questo metodo rappresenta un miglioramento del parametro Credenziale, perché non è necessario archiviare le credenziali in locale in uno script ed è possibile immettere le credenziali direttamente in una sessione di PowerShell interattiva.

Connect-ExchangeOnline -InlineCredential

Come verificare se l'operazione ha avuto esito positivo

I cmdlet di Exchange Online vengono importati nella sessione locale di PowerShell e indicati da una barra di avanzamento. Se non vengono visualizzati errori, la connessione è stata eseguita correttamente. Un breve test consiste nell'eseguire un cmdlet di PowerShell di Exchange Online, ad esempio, Get-Mailbox, per verificarne i risultati.

Se non vengono visualizzati errori, controllare i requisiti seguenti:

  • Un problema comune è rappresentato da una password errata. Eseguire di nuovo i tre passaggi e prestare particolare attenzione al nome utente e alla password usati.

  • Per evitare attacchi DoS (Denial of Service), è consentito aprire al massimo cinque connessioni PowerShell remote a Exchange Online.

  • L'account usato per connettersi deve essere abilitato per PowerShell remoto. Per altre informazioni, vedere Abilitare o disabilitare l’accesso a PowerShell di Exchange Online..

  • Il traffico sulla porta TCP 80 deve essere aperto tra il computer locale e Microsoft 365. È probabile che sia aperto, ma è bene verificare se l'organizzazione prevede criteri restrittivi relativi all'accesso a Internet.

  • Se l'organizzazione usa l'autenticazione federata e il provider di identità (IDP) e/o il servizio token di sicurezza (STS) non è disponibile pubblicamente, non è possibile usare un account federato per connettersi a PowerShell per Exchange Online. Per connettersi a PowerShell per Exchange Online, creare e usare invece un account non federato in Microsoft 365.