Exchange Online PowerShell è uno strumento a riga di comando che ti consente di gestire le caselle di posta e gli utenti di Exchange Online. Può essere utilizzato per svolgere una varietà di compiti, come la creazione e la gestione delle caselle di posta, la configurazione delle regole di flusso di posta e la gestione delle autorizzazioni degli utenti. In questa guida, ti mostreremo come installare e connetterti a Exchange Online PowerShell. Se sei un professionista IT con compiti amministrativi di Microsoft 365 nel servizio Exchange Online, questa guida è per te!
Come installare e connettersi a Exchange Online PowerShell
Come professionista IT, i tuoi compiti amministrativi di Microsoft 365 probabilmente includono Exchange Online. Anche se la maggior parte di questi compiti possono essere completati utilizzando il sito web del Centro di Amministrazione di Exchange, ci sono grandi efficienze disponibili tramite la riga di comando, specialmente lo scripting!
Prerequisiti
È possibile connettersi a Exchange Online come qualsiasi altro servizio Office 365 utilizzando il cmdlet standard Connect-*. Tuttavia, ci sono un paio di prerequisiti da tenere a mente durante l’installazione e l’utilizzo di Exchange Online PowerShell.
Nel corso degli anni sono state rilasciate diverse versioni di questi moduli. La versione 2.0.5 e precedenti sono conosciute come il modulo Exchange Online PowerShell V2 (EXO V2). La versione 3.0.0 e successive sono note come il modulo Exchange Online PowerShell V3 (EXO V3).
Ci concentreremo su questo modulo più recente poiché supporta l’autenticazione multi-fattore (MFA), include miglioramenti delle prestazioni rispetto ai suoi predecessori ed è anche più sicuro! Inoltre, è supportato sulle ultime versioni di PowerShell 7.x. Inoltre, una serie di nuovi cmdlet (EXO-*) consentono agli specialisti IT di essere più veloci e produttivi nel completare il lavoro.
Installazione del modulo Echange Online PowerShell con ‘Install-Module’
Come ho dichiarato, mi concentrerò sul modulo più recente ‘V3’ per il resto di questo articolo. In base ai passaggi che hai completato in precedenza su un computer specifico, c’è la possibilità di eseguire tra 2 e 3 passaggi principali. Passerò attraverso i passaggi singolarmente in modo che tu possa iniziare subito in base al tuo ambiente.
I am working on a Windows 11 22H2 virtual machine (VM) in my Hyper-V lab. This machine is Azure-AD joined to my Microsoft 365 Developer tenant. This will allow me to show you the procedure and also include some basic commands at the end of this article to demonstrate how it operates.
I am using the latest version of PowerShell, version 7.3.4, at the time of writing. This will enable me to install the Exchange Online PowerShell module. All I need is a PowerShell window!
- Il primo passaggio che dovremmo seguire è impostare la nostra policy di esecuzione. Dobbiamo modificare l’impostazione della policy con il cmdlet Set-ExecutionPolicy:
Set-ExecutionPolicy RemoteSigned
- Successivamente, esegui il comando Get-Module per verificare quali moduli sono installati.
Get-Module

- I have only the base set of modules installed on my computer. So, I need to install the ‘ExchangeOnlineManagement‘ module. Let’s do this with the Install-Module command:
Install-Module -Name ExchangeOnlineManagement

Nota: Poiché sto utilizzando un ‘repository non attendibile’, devo specificare che desidero scaricarlo dal repository ‘PSGallery’. Ho inserito ‘A‘ per scegliere ‘Sì a tutto’.
Caricamento del modulo con ‘Import-Module’
Ora eseguiamo il prossimo passo principale, che è caricare il modulo.
- Possiamo importare il modulo utilizzando il comando Import-Module.
- Successivamente, possiamo eseguire un altro comando Get-Module per ottenere una conferma.
Import-Module ExchangeOnlineManagement

Eccoci qua, abbiamo ora confermato che il modulo è pronto all’uso!
Connessione al tuo tenant di Exchange Online con ‘Connect-ExchangeOnline’
L’ultimo passaggio da completare per accedere alle informazioni di Exchange Online del tuo tenant è stabilire la connessione utilizzando credenziali che consentano tale accesso. Esistono diversi livelli di ruolo in Azure che permettono ciò. A questo scopo, utilizzerò il mio ruolo di Amministratore Globale come parte del mio tenant Developer. Questo ruolo di account, tra l’altro, mi dà pieno accesso a Azure AD e a tutti i servizi Microsoft 365 tramite PowerShell.
- Utilizziamo il cmdlet Connect-ExchangeOnline qui sotto:
Connect-ExchangeOnline -userprincipalname

- Si apre una finestra di autenticazione del browser che richiede il mio nome utente e la password. È qui che posso accedere con il mio account di Amministratore Globale.

Ottimo! Riceverai del testo giallo che descrive il modulo ‘EXO V3’ e un collegamento alla documentazione per ottenere maggiori informazioni.
Ora abbiamo la possibilità di eseguire cmdlet di PowerShell contro il nostro tenant di Exchange Online. Vedrò alcuni comandi basilari/essenziali con cui puoi iniziare la prossima volta.
Nota: Se teniamo sempre la sicurezza a mente, è meglio terminare la sessione dopo aver finito. È possibile disconnettere la sessione eseguendo il seguente comando prima di chiudere il tuo shell.
Disconnect-ExchangeOnline
Facile come bere un bicchier d’acqua!
Comandi di base di PowerShell di Exchange Online
Una volta connesso al modulo Powershell di Exchange Online Versione 3 (EXO V3), puoi iniziare a eseguire i cmdlet di Exchange Online. Iniziamo elencando tutte le caselle di posta nel nostro tenant.
Poiché questo è un tenant per sviluppatori, l’elenco è piuttosto piccolo. Tieni presente che in ambienti normali e più grandi, l’output non sarà altrettanto utile. Ne parlerò tra poco. Inoltre, abbiamo vari articoli su PowerShell su Petri che possono aiutarti.
Invece di utilizzare il cmdlet ‘legacy’ Get-Mailbox (in fase di deprecazione), ti mostriamo i comandi più recenti in EXO V3. Qui, userò il comando Get-EXOMailbox e lo ‘pipe’ (|) al comando ‘ft’ (stesso di ‘Format-Table’). Utilizzando lo switch ‘Autosize’, i larghezze delle colonne si adattano automaticamente alla finestra della console.
Get-EXOMailbox | ft -Autosize

Per impostazione predefinita, otteniamo l’ ‘ExternalDirectoryObjectId’, il ‘UserPrincipalName’ (di solito l’indirizzo email) e l’alias della posta. Chiediamogli di fornirci ulteriori informazioni.
Get-EXOMailbox | Select DisplayName,PrimarySMTPAddress,Alias

Questo ci fornisce informazioni leggermente più utili, giusto? Ora, otteniamo alcune statistiche sulle dimensioni della casella di posta con il comando Get-EXOMailboxStatistics. Qui, eseguo il primo comando per raccogliere tutte le caselle di posta, quindi passo a ‘Get-EXOMailboxStatistics’ con i suoi attributi predefiniti, e poi uso di nuovo ‘ft’ per renderlo più leggibile.
Get-EXOMailbox | Get-EXOMailboxStatistics | ft

Questo ci fornisce una quantità decente di informazioni sul conteggio degli articoli della nostra organizzazione e sulle dimensioni delle caselle di posta. Ci sono molti altri parametri che puoi utilizzare per ottenere attributi specifici dai tuoi account e caselle di posta.
Come connettersi a Exchange Online tramite PowerShell con MFA?
Per fortuna, non c’è nulla di speciale che devi fare per connetterti quando il tuo account è protetto con autenticazione a più fattori (è meglio che lo sia!). Quando inserisci il comando e stai utilizzando PowerShell 7 o superiore, vedrai apparire la schermata di autenticazione basata sul browser nella mia schermata qui sopra.
Se per caso stai utilizzando PowerShell 5.1 o inferiore, vedrai aprirsi la finestra di autenticazione moderna standard dove inserirai la tua password e soddisfai la tua richiesta MFA.
Puoi connetterti a Exchange Online PowerShell su un Mac?
Ci sono diversi modi per installare PowerShell su un Mac, ma il più semplice è utilizzare i collegamenti di download diretti da sito web di Microsoft. A partire dalla versione 7.2, PowerShell supporta i Mac con Apple Silicon.
Una volta installato PowerShell sul tuo Mac con macOS 11 Big Sur o versioni successive, puoi utilizzare le stesse istruzioni fornite sopra per connetterti a Exchange Online su macOS.
Benefici aggiuntivi dell’uso di Exchange Online PowerShell
Exchange Online PowerShell è uno strumento prezioso per qualsiasi professionista IT/amministratore che desidera avere maggiore controllo sul proprio ambiente Exchange Online.
Ecco alcuni benefici aggiuntivi dell’uso di Exchange Online PowerShell:
- Può essere utilizzato per automatizzare processi con script Powershell, che possono risparmiarti tempo ed sforzi con gli script.
- Può essere utilizzato per risolvere problemi, il che può aiutarti a risolvere le problematiche più rapidamente.
- Può essere utilizzato per personalizzare il tuo ambiente Exchange Online, rendendolo più efficiente e user-friendly.
Se hai domande o commenti, non esitare a lasciare un commento qui sotto. Grazie per la lettura!
Source:
https://petri.com/connect-to-exchange-online-powershell/