Installare il modulo PowerShell di Exchange Online (passo dopo passo)
By Mirko Peters ·
Installa il modulo PowerShell di Exchange Online con Install-Module ExchangeOnlineManagement: requisiti, ambito, verifica della versione, aggiornamenti e correzione degli errori.
Automatically translated with AI from the original post. Read the English original
Per installare il modulo PowerShell di Exchange Online, apri PowerShell come amministratore ed esegui Install-Module -Name ExchangeOnlineManagement. In questo modo il modulo viene installato per tutti gli utenti del computer. Se non puoi eseguirlo come amministratore, aggiungi -Scope CurrentUser: l'installazione riguarderà solo il tuo account. Questo articolo è rivolto agli amministratori di Exchange e Microsoft 365 che configurano un nuovo PC amministrativo, un jump server o un build agent. Copre i requisiti, i passaggi di installazione e verifica, l'aggiornamento e la rimozione del modulo e gli errori più comuni.
Punti chiave
- Installa il modulo PowerShell di Exchange Online con Install-Module -Name ExchangeOnlineManagement, in una finestra di PowerShell avviata come amministratore, per tutti gli utenti.
- Usa -Scope CurrentUser se non puoi usare i diritti di amministratore. Aggiorna il modulo in seguito con lo stesso ambito usato per l'installazione.
- Windows PowerShell 5.1 richiede .NET Framework 4.7.2. Il supporto a PowerShell 7 dipende dalla versione del modulo: la 3.10.0 o successive richiedono PowerShell 7.6.0.
- Verifica il risultato con Get-InstalledModule, che mostra la versione e se il modulo si trova nella posizione per tutti gli utenti o per l'utente corrente.
- Il modulo non richiede più l'autenticazione di base in WinRM, perché le sue connessioni usano REST.
Cos'è il modulo e di cosa hai bisogno prima
Il modulo si chiama ExchangeOnlineManagement. La documentazione Microsoft lo indica come modulo Exchange Online PowerShell V3. Ti permette di connetterti a Exchange Online PowerShell, a Security & Compliance PowerShell e a PowerShell per il componente aggiuntivo di sicurezza integrato per le cassette postali locali. Usa l'autenticazione moderna, quindi funziona con o senza autenticazione a più fattori.
Una modifica riguarda gli script meno recenti. Microsoft afferma che, da ottobre 2023, le connessioni REST API hanno sostituito le vecchie connessioni di PowerShell remoto con autenticazione di base. Le connessioni del modulo non richiedono l'autenticazione di base in WinRM, quindi lì non c'è nulla da attivare.
Prima di installare, verifica questi prerequisiti:
- Versione di PowerShell e .NET. Windows PowerShell 5.1 richiede .NET Framework 4.7.2. Windows 11, Windows Server 2022 e Windows Server 2025 includono la versione 4.8.x, quindi lì sei a posto. Anche PowerShell 7 funziona, e la versione minima dipende da quella del modulo, come spiega la sezione successiva.
- Criterio di esecuzione. La pagina Microsoft indica che, senza un criterio di esecuzione adeguato, compare l'errore «Impossibile caricare i file perché l'esecuzione di script è disabilitata in questo sistema». La correzione documentata è
Set-ExecutionPolicy RemoteSigned, eseguita come amministratore. Leggi la pagina Microsoft sui criteri di esecuzione prima di modificarlo e, se il computer è gestito, chiedi prima al team di sicurezza. - PowerShellGet e PackageManagement. Le connessioni REST su Windows richiedono PowerShellGet, e PowerShellGet dipende da PackageManagement. Senza di essi potresti vedere un errore relativo al cmdlet
Update-ModuleManifestmancante. Microsoft segnala inoltre che le versioni di anteprima di questi due moduli possono causare problemi di connessione e indica un comando per elencare le versioni installate:Get-InstalledModule PackageManagement -AllVersions; Get-InstalledModule PowerShellGet -AllVersions. - TLS 1.2. Con Windows PowerShell 5.1 su una versione meno recente di Windows, la PowerShell Gallery richiede TLS 1.2 o successivo. Se il download non riesce con un errore di connessione su un server datato, è la prima cosa da verificare.
Un sistema molto datato è un vicolo cieco. Windows 7 SP1 e Windows Server 2008 R2 SP1 supportano solo la versione 2.0.3 del modulo, e Microsoft afferma che tale versione non può connettersi perché non include il supporto REST.
Quale versione di PowerShell corrisponde a quale versione del modulo
Windows PowerShell 5.1 funziona con tutte le versioni del modulo, con il requisito di .NET indicato sopra. Per PowerShell 7, Microsoft riporta questa corrispondenza:
- Il modulo 3.10.0 o successivo richiede PowerShell 7.6.0 o successivo, che utilizza .NET 10.
- I moduli da 3.5.0 a 3.9.2 richiedono PowerShell 7.4.0 o successivo, che utilizza .NET 8.
- I moduli da 3.0.0 a 3.4.0 richiedono PowerShell 7.2.0 o successivo, che utilizza .NET 6.
- Il modulo 2.0.4 e le versioni successive della linea 2.x richiedono PowerShell 7.0.3.
Quindi, se hai installato l'ultima versione del modulo su un computer con PowerShell 7.4, aspettati dei problemi. Puoi aggiornare PowerShell oppure installare una versione precedente del modulo con -RequiredVersion. Al momento della stesura, Microsoft indica la 3.10.1 come versione corrente. Verifica il numero applicabile nel momento in cui leggi nella pagina del modulo.
Microsoft supporta il modulo anche su Linux e macOS. Su Linux, la connessione tramite proxy richiede la versione 3.0.0 o successiva del modulo. Su entrambi i sistemi, Connect-IPPSSession, e con esso Security & Compliance PowerShell, non è disponibile in PowerShell 7. Se gestisci Exchange Online da un Mac, questo è l'unico limite da conoscere prima di pianificare i tuoi strumenti.
Windows 10 merita una breve nota. Le edizioni consumer hanno raggiunto la fine del supporto nell'ottobre 2025, e Microsoft afferma che non supportano .NET 8.0 o .NET 10.0. Per il modulo 3.5.0 e successivi con PowerShell 7.4 o successivo, funzionano solo le edizioni Enterprise e IoT LTSC ancora supportate.
Verifica la versione di PowerShell prima dell'installazione
Un controllo di due minuti ti evita molte supposizioni in seguito. Nella finestra in cui prevedi di lavorare, esegui $PSVersionTable.PSVersion per vedere quale versione di PowerShell stai usando. Confronta il risultato con la corrispondenza riportata sopra. Su Windows PowerShell 5.1 ti serve anche sapere quale versione di PowerShellGet è installata, quindi esegui Get-InstalledModule PowerShellGet -AllVersions. Se questo comando elenca una versione di anteprima, rimuovila o aggiorna a una release stabile prima di proseguire. La pagina del modulo di Microsoft indica le build di anteprima di PowerShellGet e PackageManagement come una possibile causa di problemi di connessione.
Annota il risultato accanto al nome della macchina se gestisci più di qualche server. Quando un collega segnala una connessione fallita tre mesi dopo, puoi confrontare le versioni in pochi secondi.
Come installare il modulo PowerShell di Exchange Online passo dopo passo
Questi passaggi funzionano in Windows PowerShell 5.1 e in PowerShell 7.
- Apri PowerShell. Scegli Esegui come amministratore se vuoi installare il modulo per tutti gli utenti. Salta questo passaggio se prevedi di installarlo solo per l'utente corrente.
- Se questo è il primo modulo che installi sulla macchina, aggiorna prima PowerShellGet, quindi chiudi e riapri PowerShell. Microsoft consiglia questo ordine prima della prima installazione.
- Esegui
Install-Module -Name ExchangeOnlineManagementper tutti gli utenti. Per il solo tuo account, eseguiInstall-Module -Name ExchangeOnlineManagement -Scope CurrentUser. - Rispondi a eventuali richieste che PowerShell mostra durante l'installazione. La tua organizzazione deve consentire l'accesso alla PowerShell Gallery perché il download funzioni.
- Verifica l'installazione con
Get-InstalledModule ExchangeOnlineManagement | Format-List Name,Version,InstalledLocation. - Leggi la riga
InstalledLocation. Un percorso sotto%ProgramFiles%\WindowsPowerShell\Modules\indica che il modulo è installato per tutti gli utenti. Un percorso nella cartella Documenti indica che è installato solo per l'utente corrente. - Verificalo in una nuova finestra con
Connect-ExchangeOnline -UserPrincipalName admin@contoso.com. Per i dettagli della connessione, consulta l'articolo Connect to Exchange Online PowerShell.
Vuoi provare una build di anteprima? Aggiungi -AllowPrerelease. Per scegliere una specifica anteprima, combinalo con -RequiredVersion. Find-Module ExchangeOnlineManagement -AllVersions -AllowPrerelease elenca le versioni disponibili, mentre omettendo -AllowPrerelease vengono elencate solo le versioni pubbliche. Non installare una build di anteprima su un server di amministrazione in produzione, a meno che non ci sia un motivo preciso. Provala prima su un computer di riserva.
Aggiornare e disinstallare il modulo
Microsoft pubblica regolarmente nuove versioni del modulo, e le note di rilascio nella sua pagina mostrano cosa è cambiato. La versione 3.7.0, ad esempio, ha smesso di caricare per impostazione predefinita la Guida dalla riga di comando, mentre la versione 3.9.2 ha reso obsoleto il parametro UseRpsSession. Aggiornare richiede un solo comando: Update-Module -Name ExchangeOnlineManagement. Per un'installazione dell'utente corrente, aggiungi -Scope CurrentUser. Microsoft consiglia di usare lo stesso ambito utilizzato per l'installazione. Una discrepanza può lasciarti un'installazione in entrambe le posizioni, senza sapere con certezza quale usi PowerShell.
Per questo motivo vale la pena eseguire il controllo Get-InstalledModule del passaggio 5 prima e dopo un aggiornamento. Se vedi due versioni, verifica a quale ambito appartiene ciascuna.
Per rimuovere il modulo, esegui Uninstall-Module -Name ExchangeOnlineManagement. Se è stato installato per tutti gli utenti, esegui l'operazione come amministratore. Successivamente, chiudi le finestre di PowerShell aperte, perché un modulo già caricato rimane in memoria fino al termine della sessione.
Risolvere gli errori di installazione più comuni
La pagina del modulo di Microsoft elenca alcuni errori specifici e le relative soluzioni.
- «No match was found for the specified search criteria and module name 'ExchangeOnlineManagement'». Esegui
Register-PSRepository -Default, che registra di nuovo PowerShell Gallery come repository. Poi riprova l'installazione. - Errori su PowerShellGetFormatVersion o sull'impossibilità di scaricare i provider. Aggiorna PowerShellGet e riavvia PowerShell.
- Il download non riesce su un computer con Windows PowerShell 5.1 meno recente. PowerShell Gallery richiede TLS 1.2 o versioni successive. Microsoft rimanda a un post del blog sul supporto TLS della gallery per i dettagli.
- «Files cannot be loaded because running scripts is disabled on this system». Imposta il criterio di esecuzione come descritto sopra, come amministratore.
- «Cannot find a cmdlet Update-Manifest» o un messaggio simile su
Update-ModuleManifestdurante la connessione. Manca PowerShellGet o PackageManagement. Installa entrambi e riavvia PowerShell.
Se un'installazione va a buon fine ma la connessione fallisce successivamente con uno strano errore di assembly, la causa è di solito un altro modulo nella stessa sessione. Apri una nuova finestra e connettiti per primo.
Errori comuni
- Ambiti misti. Installare una volta per tutti gli utenti e aggiornare in seguito con
-Scope CurrentUserlascia due versioni sul computer. Scegli un ambito e mantienilo. - Usare una versione di PowerShell non compatibile con il modulo. Il modulo più recente con una versione precedente di PowerShell 7 non funziona e genera errori che sembrano errori di connessione. Confronta le tue versioni con la tabella sopra.
- Installare una versione di anteprima su un host di produzione. Le versioni di anteprima servono per i test. Per il lavoro quotidiano usa la versione pubblica.
- Ignorare PowerShellGet. Un PowerShellGet mancante o di anteprima può compromettere le connessioni REST, come descrive la pagina di Microsoft. Controllalo per primo quando una nuova installazione non riesce a connettersi.
- Seguire tutorial obsoleti. Le guide che suggeriscono di abilitare l'autenticazione di base in WinRM descrivono il metodo PowerShell remoto ormai ritirato. Non ti serve.
Argomenti correlati da approfondire
- Connessione con il modulo: una volta installato, la domanda successiva è come accedere, con o senza MFA, come spiegano l'articolo sul modulo Exchange Online PowerShell e il relativo articolo complementare sulla connessione.
- Autenticazione solo app: gli script pianificati richiedono un certificato o un'identità gestita, non una password digitata.
- Uso del modulo in PowerShell 7 su Linux e macOS: le versioni supportate variano a seconda del sistema operativo, quindi verifica prima l'elenco di compatibilità.
- Controllo di chi può usare PowerShell: un amministratore di Exchange può abilitare o disabilitare l'accesso a Exchange Online PowerShell per singolo utente.
- Aggiornamento costante dei moduli: imposta un promemoria periodico per controllare la disponibilità di nuove versioni del modulo, perché Microsoft aumenta di tanto in tanto la versione minima di PowerShell richiesta.
Prossimo passo
Per installare il modulo di Exchange Online PowerShell, esegui Install-Module -Name ExchangeOnlineManagement, verificalo con Get-InstalledModule e mantieni lo stesso ambito per tutti gli aggiornamenti successivi. Poi connettiti con Connect-ExchangeOnline in una nuova finestra ed esegui Get-AcceptedDomain per verificare che la configurazione funzioni.