Informazioni sul modulo PowerShell V2 di 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 le istruzioni di connessione che usano il modulo EXO V2, vedere gli argomenti seguenti:

Il resto di questo argomento spiega come funziona il modulo, come installare e gestire il modulo e i cmdlet ottimizzati di Exchange Online disponibili nel modulo.

Segnalare bug e problemi relativi al modulo EXO V2

Quando si segnala un problema, assicurarsi di includere i file di log nel messaggio di posta elettronica. Per generare i file di log, sostituire <Path to store log file> con la cartella di output desiderata ed eseguire il comando seguente:

Connect-ExchangeOnline -EnableErrorReporting -LogDirectoryPath <Path to store log file> -LogLevel All

Funzionamento del modulo EXO V2

Il modulo contiene un piccolo set di esclusivi cmdlet di PowerShell di Exchange Online ottimizzati per gli scenari di recupero dei dati in blocco, ossia che coinvolgono migliaia di oggetti. La prima volta che si apre il modulo, verranno visualizzati solo questi cmdlet esclusivi. Dopo aver eseguito la connessione all'organizzazione di Exchange Online, verranno visualizzati tutti i cmdlet di Remote PowerShell precedenti.

Il modulo usa l'autenticazione moderna per tutti i cmdlet. Non è possibile usare l'autenticazione di base nel modulo EXO V2, ma è comunque necessario abilitare l'opzione di autenticazione di base in WinRM come spiegato più avanti in questo argomento..

I cmdlet di Exchange Online nel modulo EXO V2 sono destinati a sostituire gli equivalenti più vecchi, meno efficienti, ma i cmdlet equivalenti sono ancora disponibili, dopo la connessione.

Nella tabella seguente sono elencati i cmdlet ottimizzati di PowerShell di Exchange Online, disponibili solo nel modulo EXO V2:


Modulo EXO V2. Cmdlet precedente correlato
Get-EXOMailbox Get-Mailbox
Get-EXORecipient Get-Recipient
Get-EXOCasMailbox Get-CASMailbox
Get-EXOMailboxPermission Get-MailboxPermission
Get-EXORecipientPermission Get-RecipientPermission
Get-EXOMailboxStatistics Get-MailboxStatistics
Get-EXOMailboxFolderStatistics Get-MailboxFolderStatistics
Get-EXOMailboxFolderPermission Get-MailboxFolderPermission
Get-EXOMobileDeviceStatistics Get-MobileDeviceStatistics

Nella tabella seguente sono elencati i cmdlet relativi alla connessione disponibili nel modulo EXO V2:


Modulo EXO V2. Cmdlet precedente correlato
Connect-ExchangeOnline Connect-EXOPSSession
oppure
Nuovo PSSession
Connect-IPPSSession Connect-IPPSSession
Disconnect-ExchangeOnline Rimuovi PSSession

Nella tabella seguente sono elencati i vari cmdlet di Exchange Online, che si possono trovare nel modulo EXO V2:


Modulo EXO V2. Commenti
Get-MyAnalyticsFeatureConfig Disponibile nella versione 2.0.4-Preview3 del modulo.
Set-MyAnalyticsFeatureConfig Disponibile nella versione 2.0.4-Preview3 del modulo.
Get-UserBriefingConfig Questo cmdlet viene sostituito da Get-UserAnalyticsConfig.
Set-UserBriefingConfig Questo cmdlet viene sostituito da Set-UserAnalyticsConfig.

Installare e gestire il modulo EXO V2

È possibile scaricare il modulo EXO V2 da PowerShell Gallery all’indirizzohttps://www.powershellgallery.com/packages/ExchangeOnlineManagement/.

Le procedure descritte in questa sezione spiegano come installare, aggiornare e disinstallare il modulo EXO V2.

Prerequisiti per il modulo EXO V2

  • L'ultima versione di PowerShell supportata pubblicamente dal modulo EXO V2 è Windows PowerShell 5.1. Il supporto per le versioni più recenti di PowerShell e dunque anche per Linux o per Mac, è in fase di sviluppo*..

  • È 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**

    * La 2.0.4-Preview2 versione del modulo supporta PowerShell 7 in Linux e Windows. Per altre informazioni, vedere la sezione Supporto di PowerShell Core nel modulo EXO V2 più avanti in questo argomento.

    ** Questa versione di Windows ha raggiunto la fine del supporto e ora è supportata solo quando si esegue in macchine virtuali di Azure. Per usare questa versione di Windows, è necessario installare Microsoft .NET Framework 4.5 o versione successiva e quindi Windows Management Framework 5.1. Per altre informazioni, vedere Windows Management Framework 5.1.

  • Windows PowerShell deve essere configurato per poter eseguire gli script e, per impostazione predefinita, non lo è. Durante il tentativo di connessione viene visualizzato l'errore seguente:

    Impossibile caricare i file perché l'esecuzione di script è disabilitata nel sistema. Specificare un certificato valido per la firma dei file.

    Per richiedere che tutti gli script di PowerShell scaricati da internet siano firmati da un editore attendibile, eseguire il seguente comando in una finestra di Windows PowerShell elevata (una finestra di Windows PowerShell aperta selezionando Esegui come amministratore ):

    Set-ExecutionPolicy RemoteSigned
    

    Per altre informazioni sui criteri di esecuzione, vedere Informazioni sui criteri di esecuzione.

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

Tip

Problemi? È possibile richiedere supporto nei forum di Exchange. I forum sono disponibili in Exchange Online e Exchange Online Protection.

Installare il modulo EXO V2

Per installare il modulo EXO V2 per la prima volta, completare i passaggi seguenti in una finestra di Windows PowerShell con privilegi elevati :

  1. Installare o aggiornare il modulo PowerShellGet come descritto in Installazione di PowerShellGet.

  2. Chiudere e riaprire la finestra.

  3. Ora è possibile usare il cmdlet Installa modulo per installare il modulo EXO V2 dalla raccolta di PowerShell. In genere, è consigliabile usare la versione pubblica più recente del modulo, ma è anche possibile installare una versione di anteprima, se disponibile.

    • Per installare versione più recente del modulo, eseguire il comando seguente:

      Install-Module -Name ExchangeOnlineManagement
      

      Immettere Y per accettare il contratto di licenza.

    • Per installare una versione di anteprima del modulo, sostituire <PreviewVersion> con il valore necessario ed eseguire il comando seguente:

      Install-Module -Name ExchangeOnlineManagement -RequiredVersion <PreviewVersion> -AllowPrerelease
      

      Ad esempio, per installare la 2.0.4-Preview2versione necessaria per Supporto di PowerShell Core, eseguire il comando seguente:

      Install-Module -Name ExchangeOnlineManagement -RequiredVersion 2.0.4-Preview2 -AllowPrerelease
      

      Al termine, immettere Y per accettare il contratto di licenza.

Per informazioni dettagliate sulla sintassi e sul parametro, vedere Installa-modulo .

Aggiornare il modulo EXO V2

Se il modulo è già installato nel computer, è possibile eseguire i comandi seguenti per verificare la versione attualmente installata e aggiornarla alla più recente dalla PowerShell Gallery:

  1. Per vedere la versione del modulo attualmente installato, eseguire i comandi seguenti:

    Import-Module ExchangeOnlineManagement; Get-Module ExchangeOnlineManagement
    
  2. È possibile usare il cmdlet Aggiorna-modulo in una finestra di Windows PowerShell con privilegi elevati per aggiornare il modulo EXO V2 dalla PowerShell Gallery. In genere, è consigliabile usare la versione pubblica più recente del modulo, ma è anche possibile aggiornare a una versione di anteprima, se disponibile.

    • Per aggiornare alla versione più recente del modulo, eseguire il comando seguente:

      Update-Module -Name ExchangeOnlineManagement
      

      Immettere Y per accettare il contratto di licenza.

    • Per aggiornare a una versione di anteprima del modulo, sostituire <PreviewVersion> con il valore necessario ed eseguire il comando seguente:

      Update-Module -Name ExchangeOnlineManagement -RequiredVersion <PreviewVersion> -AllowPrerelease
      

      Ad esempio, per aggiornare alla 2.0.4-Preview2versione necessaria per Supporto di PowerShell Core,, eseguire il comando seguente:

      Update-Module -Name ExchangeOnlineManagement -RequiredVersion 2.0.4-Preview2 -AllowPrerelease
      

      Al termine, immettere Y per accettare il contratto di licenza.

  3. Per verificare l'esito dell'aggiornamento, eseguire i comandi seguenti per verificare le informazioni sulla versione del modulo installato:

    Import-Module ExchangeOnlineManagement; Get-Module ExchangeOnlineManagement
    

Per informazioni dettagliate sulla sintassi e sul parametro, vedere Aggiorna-modulo .

Nota :Se si riceve il seguente messaggio di errore:

Il modulo specificato 'ExchangeOnlineManagement' con PowerShellGetFormatVersion '<version>' non è supportato dalla versione corrente di PowerShellGet. Recuperare l'ultima versione del modulo PowerShellGet per installare questo modulo 'ExchangeOnlineManagement'.

Aggiornare l'installazione del modulo PowerShellGet alla versione più recente, come descritto in Installazione di PowerShellGet. Assicurarsi di chiudere e riaprire la finestra di Windows PowerShell con privilegi elevati prima di provare ad aggiornare nuovamente il modulo ExchangeOnlineManagement.

Disinstallare il modulo EXO V2

Eseguire il comando seguente in una finestra di Windows PowerShell con privilegi elevati :

Uninstall-Module -Name ExchangeOnlineManagement

Per informazioni dettagliate sulla sintassi e sul parametro, vedere Disinstalla-modulo .

Supporto di PowerShell Core nel modulo EXO V2

Note

La versione del modulo EXO V2 necessario per il supporto di PowerShell Core è attualmente in anteprima.

La2.0.4-Preview2 versione supporta PowerShell 7 in Linux e Windows. Questa versione di anteprima del modulo consente agli amministratori di usare i computer Linux per la gestione quotidiana delle organizzazioni di Exchange Online.

Note :

  • PowerShell 7 in MacOS non è supportato.
  • Con Windows PowerShell 5.1, la versione di anteprima del modulo funziona.

Per installare la 2.0.4-Preview2versione del modulo, vedere la sezioneInstallare e mantenere la sezione del modulo EXO V2 in questo argomento.

Per altre informazioni su PowerShell 7, vedere annuncio di PowerShell 7,0.

La versione2.0.4-Preview2 del modulo supporta le nuove esperienze di accesso seguenti in PowerShell 7:

  • Scripting interattivo con Single Sign-on (SSO) basato su browser : questo è il metodo predefinito in PowerShell core. 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 nuovi cmdlet di EXO V2 sono disponibili nella sessione di PowerShell risultante.

    Se si usa 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 sul dispositivo : usa questo metodo se non è disponibile un browser, quindi non è possibile visualizzare la pagina di accesso.

    Connect-ExchangeOnline -Device
    
  • Immetti le credenziali direttamente nella finestra di PowerShell : usa questo metodo se vuoi connetterti a Exchange online in PowerShell 7 senza passare al browser per l'autenticazione SSO. Questo metodo non supporta gli account abilitati per 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
    

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

Proprietà e set di proprietà nel modulo EXO V2

I cmdlet di Exchange Online tradizionali restituisce tutte le possibili proprietà degli oggetti negli output, incluse numerose proprietà che spesso sono vuote o che in molti scenari non sono interessanti. Questo comportamento causa prestazioni degradate (ulteriore calcolo del server e carico di rete aggiunto). La restituzione di tutte le proprietà nell'output dei cmdlet è raramente necessaria.

I cmdlet del modulo * Get-EXO* _ offrono proprietà di output categorizzate. Anziché assegnare uguale importanza a tutte le proprietà e restituirle in tutti gli scenari, le proprietà correlate sono state categorizzate in set di proprietà. In poche parole, questi set di proprietà sono contenitori con due o più proprietà correlate nel cmdlet.

Nei cmdlet più grandi e usati Get-EXO* :

I set di proprietà sono controllati dai parametri seguenti:

È possibile usare i parametri PropertySet e Properties nello stesso comando.

È inoltre disponibile il set di proprietà Minimum, che include un insieme di proprietà di base per l'output del cmdlet (per esempio, proprietà identità). Le proprietà disponibili nel set di proprietà Minimum sono descritte anche in set di proprietà nei cmdlet di PowerShell V2 di Exchange Online.

  • Se non si usano i parametri PropertySets o Properties , si ottengono automaticamente le proprietà nel set di proprietà Minimum.
  • Se si usano i parametri PropertySets o Properties , si ottengono le proprietà specificate e le proprietà nel set Minimum.

In entrambi i casi, l'output del cmdlet conterrà meno proprietà e il tempo necessario per restituire i risultati sarà molto inferiore.

Ad esempio, dopo essersi connessi a PowerShell di Exchange Online, nell'esempio seguente vengono restituite solo le proprietà della proprietà Minimum impostata per le prime dieci cassette postali.

Get-EXOMailbox -ResultSize 10

L’output dello stesso comando Get-Mailbox restituirebbe invece almeno 230 proprietà per ciascuna delle prime dieci cassette postali.

Note

Anche se il parametro PropertySets accetta il valore All, è sconsigliabile l’utilizzo di questo valore per recuperare tutte le proprietà perché rallenta il comando e riduce l'affidabilità. Usare sempre i parametri PropertySets e Properties per recuperare il numero minimo di proprietà richiesti per lo scenario specifico..

Per altre informazioni sui filtri nel modulo EXO V2, vedere Filtri nel modulo V2 di Exchange Online.

Note sulla versione

Versione attuale: versione 2.0.3

  • Disponibilità generale dell'autenticazione basata su certificato (CBA), che consente l'uso dell'autenticazione moderna per gli script eseguiti automaticamente o gli scenari di automazione in background. Le posizioni di archiviazione dei ceritificati disponibili sono:

    • Remota, nel parametro del valore della chiave di Azure (il Certificato ). Questa opzione aumenta la sicurezza recuperando il certificato solo in fase di esecuzione.
    • Locale, nell'archivio dei certificati CurrentUser o LocalMachine (il parametro CertificateThumbprint ).
    • Locale, in un file di certificato esportato (i parametri CertificateFilePath e CertificatePassword ).

    Per altre informazioni, vedere le descrizioni del parametro in Connect-ExchangeOnline e Autenticazione basata solo su app per gli script eseguiti automaticamente nel modulo EXO V2.

  • Connettersi a Exchange Online e al Centro sicurezza e conformità simultaneamente in una sola finestra di PowerShell.

  • Il nuovo parametro CommandName consente di specificare e limitare i cmdlet di PowerShell in Exchange Online che sono importati in una sessione. Questa opzione riduce il carico di memoria per le applicazioni di PowerShell ad alto utilizzo.

  • Get-EXOMailboxFolderPermission ora supporta ExternalDirectoryObjectID nel parametro Identity.

  • La latenza dell'invocazione del cmdlet V2 è stata ottimizzata. I risultati di laboratorio mostrano che la latenza della prima invocazione è stata ridotta da 8 secondi a circa 1 secondo. I risultati effettivi dipendono dalla dimensione del risultato del cmdlet e dall'ambiente del tenant.

Versioni precedenti

Versione 1.0.1

  • Versione di disponibilità generale del modulo EXO V2. È stabile e pronta per l'uso in ambiente di produzione.

  • Il cmdlet Get-EXOMobileDeviceStatistics ora supporta il parametro Identity.

  • È stata migliorata l'affidabilità della riconnessione automatica della sessione: in alcuni casi in cui uno script restava in esecuzione per circa 50 minuti e poi generava l'errore "Cmdlet non trovato" a causa di un bug nella logica di riconnessione automatica.

  • Sono stati risolti i problemi relativi al tipo di dati per due attributi "User" e "MailboxFolderUser" usati di frequente, per una migrazione più semplice degli script.

  • È stato migliorato il supporto per i filtri, che ora supporta altri quattro operatori: EndsWith, Contains, Not e NotLike. Consultare Filters in the EXO V2 module per informazioni sugli attributi che non sono supportati nei filtri.

Versione 0.4578.0

  • È stato aggiunto il supporto per configurare un messaggio di briefing a livello di utente per l'organizzazione con i cmdlet Set-UserBriefingConfig e Get-UserBriefingConfig.

  • È stato aggiunto il supporto della pulizia della sessione con il cmdlet Disconnect-ExchangeOnline. Questo cmdlet è l'equivalente in V2 di Get-PSSession | Remove-PSSession. Oltre a ripulire l'oggetto sessione e i file locali, rimuove il token di accesso dalla cache, che viene usato per l'autenticazione nei cmdlet V2.

  • Ora è possibile usare FolderId come parametro di identità in Get-EXOMailboxFolderPermission. Il valore FolderId si può ottenere usando Get-MailboxFolder. Ad esempio:

    Get-MailboxFolderPermission -Identity <UPN>:<Folder-Path>

    Get-MailboxFolderPermission -Identity <UPN>:\<Folder-Id>

  • L'affidabilità di Get-EXOMailboxStatistics è stata migliorata, grazie alla risoluzione di alcuni problemi di routing delle richieste che causavano errori.

  • L'utilizzo della memoria alla creazione di una sessione è stato ottimizzato, riutilizzando qualsiasi modulo esistente con una nuova sessione anziché crearne uno nuovo ogni volta che si importa la sessione.

Versione 0.4368.1

  • È stato aggiunto il supporto per i cmdlet di PowerShell per Centro sicurezza e conformità con il cmdlet Connect-IPPSSession.

  • Possibilità di nascondere il banner degli annunci usando il parametro ShowBanner. Eseguire il comando seguente per nascondere il banner:

    Connect-ExchangeOnline -ShowBanner:$false
    
  • Capacità di terminare l'esecuzione del cmdlet in caso di eccezione del client.

  • Remote PowerShell conteneva vari tipi di dati complessi, che intenzionalmente non erano supportati nei cmdlet EXO per migliorare le prestazioni. Le differenze relative ai tipi di dati non complessi tra i cmdlet di Remote PowerShell e i cmdlet V2 sono state risolte, in modo da consentire una migrazione semplice degli script di gestione.

Versione 0.3582.0

  • Supporto per il prefisso durante la creazione di una sessione.

    • È possibile creare solo una sessione alla volta che contiene cmdlet con prefisso.
    • Si noti che i cmdlet di EXO V2 non verranno prefissati perché hanno già il prefisso EXO, quindi non usare EXO come prefisso.
  • Usare i cmdlet di EXO V2 anche se l'autenticazione di base di WinRM è disabilitata nel computer client. Si noti che cmdlet di Remote PowerShell richiedono l'autenticazione di base di WinRM e che non sono disponibili se è disabilitata.

  • Il parametro Identity per i cmdlet v2 ora supporta anche Name e Alias. Si noti che l'uso di Alias o Name rallenta le prestazioni dei cmdlet V2, quindi non è consigliato.

  • È stato risolto il problema per cui il tipo di dati degli attributi restituiti dai cmdlet V2 era diverso rispetto ai cmdlet di Remote PowerShell. Sono ancora presenti alcuni attributi con tipi di dati diversi, che verranno gestiti nei prossimi mesi.

  • Correzione di bug: problema di frequenti riconnessioni della sessione quando veniva richiamato Connect-ExchangeOnline con Credentials o UserPrincipalName

Versione 0.3555.1

  • È stato corretto un bug per cui i cmdlet inviati tramite pipe non riuscivano con l'errore seguente a causa di un problema di autenticazione:

    Impossibile richiamare la pipeline perché lo stato dello spazio di esecuzione non è Opened. Lo stato corrente dello spazio di esecuzione è 'Closed'.

Versione 0.3527.4

  • Contenuto di Get-Help aggiornato.

  • È stato risolto un problema in Get-Help in cui il parametro -Online reindirizzava a una pagina inesistente con il codice di errore 400.

Versione 0.3527.3

  • È stato aggiunto il supporto per gestire Exchange per un tenant diverso usando il flusso di delega.

  • Funziona in tandem con altri moduli di PowerShell in una singola finestra di PowerShell.

  • È stato aggiunto il supporto per i parametri posizionali.

  • Il campo di data e ora supporta le impostazioni locali del client.

  • Correzione di bug: PSCredential vuoto se passato durante Connect-ExchangeOnline.

  • Correzione di bug: errore del modulo client quando il filtro conteneva $null.

  • Le sessioni create internamente al modulo EXO V2 hanno ora nomi (modello di denominazione: ExchangeOnlineInternalSession_% numero%).

  • Correzione di bug: i cmdlet di Remote PowerShell falliscono in modo intermittente per un problema di differenza di tempo tra la scadenza del token e il passaggio all'inattività di PSSession.

  • Aggiornamento principale della sicurezza.

  • Correzioni di bug e miglioramenti.