Modulo V1 - Connettersi a PowerShell di Exchange Online tramite MFA

Nota

Il modulo di PowerShell remoto di Exchange Online precedente descritto in questo articolo verrà infine ritirato. Il modulo Exchange Online PowerShell V2 (modulo EXO V2) supporta L'autenticazione a più fattori, pertanto è consigliabile utilizzarlo. Per istruzioni, vedere Connettersi a PowerShell di Exchange Online.

Se si desidera utilizzare l'autenticazione a più fattori (MFA) per connettersi a PowerShell di Exchange Online, non è possibile utilizzare le istruzioni disponibili in Autenticazione di base - Connettersi a PowerShell di Exchange Online per utilizzare PowerShell remoto per connettersi a Exchange Online. L'autenticazione a più fattori richiede l'installazione del modulo Di PowerShell remoto di Exchange Online e l'utilizzo del cmdlet Connect-EXOPSSession per la connessione.

Che cosa è necessario sapere prima di iniziare?

  • Tempo stimato per il completamento: 5 minuti

  • 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.

  • È possibile utilizzare le seguenti versioni di Windows:

    • Windows 10
    • Windows 8.1
    • Windows Server 2019
    • Windows Server 2016
    • Windows Server 2012 o Windows Server 2012 R2
    • Windows 7 Service Pack 1 (SP1)*
    • Windows Server 2008 R2 SP1*

    * Questa versione di Windows ha raggiunto la fine del supporto e ora è supportata solo nelle macchine virtuali di Azure. Per usare questa versione di Windows, è necessario installare Microsoft .NET Framework 4.5 o versione successiva e quindi una versione aggiornata di Windows Management Framework: 3.0, 4.0, o 5.1 (solo una). Per altre informazioni, vedere Installare .NET Framework, Windows Management Framework 3.0, Windows Management Framework 4.0e Windows Management Framework 5.1.

  • WinRM deve consentire l'autenticazione di base (l'opzione è abilitata per impostazione predefinita). La combinazione di nome utente e password non viene inviata, ma è necessaria l'intestazione di autenticazione di base per inviare il token OAuth della sessione, perché l'implementazione di WinRM lato client non supporta OAuth.

    Nota: è necessario abilitare temporaneamente WinRM per eseguire i comandi seguenti. A questo scopo, eseguire il comando: winrm quickconfig.

    Per verificare che l'autenticazione di base sia abilitata per WinRM, eseguire questo comando in un prompt dei comandi (non in Windows PowerShell):

    winrm get winrm/config/client/auth
    

    Se il valore Basic = true non viene visualizzato, è necessario eseguire questo comando in un prompt dei comandi (non in Windows PowerShell) per abilitare l'autenticazione di base per WinRM:

    winrm set winrm/config/client/auth @{Basic="true"}
    

    Nota: se si preferisce eseguire il comando in Windows PowerShell, racchiudere questa parte del comando tra virgolette: '@{Basic="true"}'.

    Se l'autenticazione di base per WinRM è disabilitata, verrà visualizzato questo errore quando si prova a connettersi:

    Client Gestione remota Windows: impossibile elaborare la richiesta. L'autenticazione di base è attualmente disabilitata nella configurazione del client. Modificare la configurazione del client e riprovare.

Installare il modulo PowerShell remoto di Exchange Online

Nota

Il modulo PowerShell remoto di Exchange Online non è supportato in PowerShell Core (macOS, Linux o Windows Nano Server). Come soluzione alternativa, è possibile installare il modulo in un computer che esegue una versione supportata di Windows (fisica o virtuale) e usare il software desktop remoto per connettersi.

Devi eseguire la procedura seguente in un browser che supporta ClickOnce (ad esempio, Internet Explorer o Edge):

Nota: ClickOnce è disponibile nella versione basata su Chromium di Edge edge://flags/#edge-click-once e potrebbe non essere abilitato per impostazione predefinita.

  1. Aprire l'interfaccia di amministrazione di Exchange (EAC) per l'organizzazione di Exchange Online. Per istruzioni, vedere Interfaccia di amministrazione di Exchange in Exchange Online.

  2. Nell'interfaccia di amministrazione di Exchange, andare a Configurazione ibrida e fare clic sul pulsante Configura appropriato per scaricare il modulo PowerShell remoto di > Exchange Online per l'autenticazione a più fattori.

    Scaricare il modulo PowerShell di Exchange Online dalla scheda Ibrida nell'interfaccia di amministrazione di Exchange

  3. Nella finestra Installazione applicazione che viene visualizzata, fare clic su Installa.

    Fare clic su Installa nella finestra modulo di PowerShell di Exchange Online

  • Quando si utilizza il modulo PowerShell remoto di Exchange Online, la sessione terminerà dopo un'ora, cosa che può essere problematica per script o processi a esecuzione lunga. Per evitare questo problema, utilizzare indirizzi IP attendibili per ignorare l'autenticazione a più fattori per le connessioni dalla rete Intranet. Gli INDIRIZZI IP attendibili consentono di connettersi a PowerShell di Exchange Online dalla rete Intranet usando le vecchie istruzioni in Basic auth - Connect to Exchange Online PowerShell. Inoltre, se si dispone di server in un datacenter, assicurarsi di aggiungere i propri indirizzi IP pubblici agli indirizzi IP attendibili, come descritto qui.

Suggerimento

Problemi? È possibile richiedere supporto nei forum di Exchange. Visitare i forum all'indirizzo: Exchange Online o Exchange Online Protection.

Connettersi a PowerShell di Exchange Online tramite MFA

  1. Nel computer locale, aprire il modulo PowerShell remoto di Exchange Online ( Microsoft Corporation > Microsoft Exchange Online Remote PowerShell Module).

  2. Il comando da eseguire utilizza la sintassi seguente:

    Connect-EXOPSSession [-UserPrincipalName -ConnectionUri <ConnectionUri> -AzureADAuthorizationEndPointUri <AzureADUri> -DelegatedOrganization <String>]
    
    • <UPN> è l'account aziendale o dell'istituto di istruzione di Microsoft 365.

    • I <ConnectionUri> valori e dipendono dalla natura <AzureADUri> dell'organizzazione di Microsoft 365, come descritto nella tabella seguente:



    Offerta Microsoft 365 Valore del parametro ConnectionUri Valore del parametro AzureADAuthorizationEndPointUri
    Microsoft 365 Non utilizzato Non utilizzato
    Office 365 Germany https://outlook.office.de/PowerShell-LiveID https://login.microsoftonline.de/common
    Microsoft 365 GCC High https://outlook.office365.us/powershell-liveid https://login.microsoftonline.us/common
    Microsoft 365 DOD https://webmail.apps.mil/powershell-liveid https://login.microsoftonline.us/common

    In questo esempio si connette a Exchange Online in Microsoft 365 utilizzando l'account chris@contoso.com.

    Connect-EXOPSSession -UserPrincipalName chris@contoso.com
    

    In questo esempio si connette a Exchange Online Germany utilizzando l'account lukas@fabrikam.com.

    Connect-EXOPSSession -UserPrincipalName lukas@fabrikam.com -ConnectionUri https://outlook.office.de/PowerShell-LiveID -AzureADAuthorizationEndPointUri https://login.microsoftonline.de/common
    

    In questo esempio si connette a Exchange Online per gestire un altro tenant.

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

    Immettere la password nella finestra di PowerShell remoto di Exchange Online

    Un codice di verifica viene generato e recapitato in base all'opzione di risposta di verifica configurata per il tuo account (ad esempio, un SMS o l'app Azure Authenticator sul tuo cellulare).

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

    Immettere il codice di verifica nella finestra di PowerShell remoto di Exchange Online

Nota

Al termine ricordare di chiudere la sessione PowerShell remota. Se si chiude la finestra del modulo di PowerShell remoto di Exchange Online senza disconnettere la sessione, è possibile utilizzare tutte le sessioni remote di PowerShell disponibili e sarà necessario attendere la scadenza delle sessioni. Per disconnettere tutte le sessioni di PowerShell attualmente aperte nella finestra corrente, eseguire il comando seguente:

Get-PSSession | Remove-PSSession

Single Sign-On

Se nell'organizzazione è abilitato single sign-on (SSO) e si è connessi a un computer come utente nel dominio SSO, Connect-EXOPSSession potrebbe non riuscire con l'errore seguente:

New-EXOPSSession : l'utente "loggedonuser@contoso.com" restituito dal servizio non corrisponde a "userprincipalname@contoso.com" utente nella richiesta.

Questo errore si verifica perché single sign-on sostituisce il nome dell'entità utente (UPN) specificato. Per risolvere il problema, utilizzare Connect-EXOPSSession senza il parametro -UserPrincipalName o utilizzare il parametro -Credential.

Come verificare se l'operazione ha avuto esito positivo

Dopo il passaggio 4, i cmdlet di Exchange Online vengono importati nella sessione del modulo di PowerShell remoto di Exchange Online e monitorati da un indicatore di stato. Se non vengono visualizzati errori, la connessione è stata eseguita correttamente. Un breve test consiste nell'eseguire un cmdlet di Exchange Online, ad esempio, Get-Mailbox, per verificarne i risultati.

Se non vengono visualizzati errori, controllare i requisiti seguenti:

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

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

  • 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.